@import url(fontawesome-all.min.css);

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background: #ffffff;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Typography */

	html {
		font-size: 15pt;
	}

		@media screen and (max-width: 1680px) {

			html {
				font-size: 13pt;
			}

		}

		@media screen and (max-width: 1280px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 980px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 480px) {

			html {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 360px) {

			html {
				font-size: 11pt;
			}

		}

	body {
		background-color: #ffffff;
		color: #282828;
	}

	body, input, select, textarea {
		font-family: "Lato", Helvetica, sans-serif;
		font-weight: 300;
		font-size: 1rem;
		line-height: 1.8;
	}

	a {
		-moz-transition: color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out;
		text-decoration: underline;
	}

		a:hover {
			text-decoration: none;
		}

	strong, b {
		font-weight: 900;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2rem 0;
	}

	h1, h2, h3, h4, h5, h6 {
		font-weight: 900;
		letter-spacing: 0.25rem;
		line-height: 1.5;
		margin: 0 0 1.5rem 0;
		text-transform: uppercase;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-family: "Oswald", Helvetica, sans-serif;
		font-size: 4rem;
		letter-spacing: 0.1rem;
	}

	h2 {
		font-size: 1.75rem;
	}

	h3 {
		font-size: 1.5rem;
	}

	h4 {
		font-size: 1.25rem;
	}

	h5 {
		font-size: 1rem;
	}

	h6 {
		font-size: 0.75rem;
	}

	@media screen and (max-width: 1280px) {

		h1 {
			font-size: 3.5rem;
		}

	}

	@media screen and (max-width: 980px) {

		h1 {
			font-size: 3rem;
		}

		h2 {
			font-size: 1.5rem;
		}

		h3 {
			font-size: 1.25rem;
		}

	}

	@media screen and (max-width: 736px) {

		h1 {
			font-size: 1.75rem;
		}

		h2 {
			font-size: 1.5rem;
		}

		h3 {
			font-size: 1.25rem;
		}

	}

	sub {
		font-size: 0.8rem;
		position: relative;
		top: 0.5rem;
	}

	sup {
		font-size: 0.8rem;
		position: relative;
		top: -0.5rem;
	}

	blockquote {
		border-left: solid 0.5rem;
		font-style: italic;
		margin: 0 0 2rem 0;
		padding: 1rem 0 1rem 2rem;
	}

	code {
		border-radius: 10px;
		border: solid 1px;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0.25rem;
		padding: 0.25rem 0.65rem;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0 2rem 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1rem 1.5rem;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px;
		margin: 2rem 0;
	}

		hr.major {
			margin: 4rem 0;
		}

		@media screen and (max-width: 736px) {

			hr.major {
				margin: 3rem 0;
			}

		}

	input, select, textarea {
		color: #000000;
	}

	a {
		color: #000000;
	}

	strong, b {
		color: #000000;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #000000;
	}

	blockquote {
		border-left-color: rgba(99, 116, 133, 0.25);
	}

	code {
		background: rgba(99, 116, 133, 0.075);
		border-color: rgba(99, 116, 133, 0.25);
	}

	hr {
		border-bottom-color: rgba(99, 116, 133, 0.25);
	}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0;
			margin-left: 0rem;
		}

			.row.gtr-0 > * {
				padding: 0 0 0 0rem;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0rem;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0rem;
				}

		.row.gtr-25 {
			margin-top: 0;
			margin-left: -0.5rem;
		}

			.row.gtr-25 > * {
				padding: 0 0 0 0.5rem;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -0.5rem;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 0.5rem;
				}

		.row.gtr-50 {
			margin-top: 0;
			margin-left: -1rem;
		}

			.row.gtr-50 > * {
				padding: 0 0 0 1rem;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -1rem;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 1rem;
				}

		.row {
			margin-top: 0;
			margin-left: -2rem;
		}

			.row > * {
				padding: 0 0 0 2rem;
			}

			.row.gtr-uniform {
				margin-top: -2rem;
			}

				.row.gtr-uniform > * {
					padding-top: 2rem;
				}

		.row.gtr-150 {
			margin-top: 0;
			margin-left: -3rem;
		}

			.row.gtr-150 > * {
				padding: 0 0 0 3rem;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -3rem;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 3rem;
				}

		.row.gtr-200 {
			margin-top: 0;
			margin-left: -4rem;
		}

			.row.gtr-200 > * {
				padding: 0 0 0 4rem;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -4rem;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 4rem;
				}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.5rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.5rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.5rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.5rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -1rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 1rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -1rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 1rem;
						}

				.row {
					margin-top: 0;
					margin-left: -2rem;
				}

					.row > * {
						padding: 0 0 0 2rem;
					}

					.row.gtr-uniform {
						margin-top: -2rem;
					}

						.row.gtr-uniform > * {
							padding-top: 2rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 3rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -4rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 4rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -4rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 4rem;
						}

		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.3125rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.3125rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.3125rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.3125rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.625rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.625rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.625rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.625rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.25rem;
				}

					.row > * {
						padding: 0 0 0 1.25rem;
					}

					.row.gtr-uniform {
						margin-top: -1.25rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.25rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.875rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.875rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.875rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.875rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2.5rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2.5rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2.5rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2.5rem;
						}

		}

		@media screen and (max-width: 480px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xsmall {
					order: -1;
				}

				.row > .col-1-xsmall {
					width: 8.33333%;
				}

				.row > .off-1-xsmall {
					margin-left: 8.33333%;
				}

				.row > .col-2-xsmall {
					width: 16.66667%;
				}

				.row > .off-2-xsmall {
					margin-left: 16.66667%;
				}

				.row > .col-3-xsmall {
					width: 25%;
				}

				.row > .off-3-xsmall {
					margin-left: 25%;
				}

				.row > .col-4-xsmall {
					width: 33.33333%;
				}

				.row > .off-4-xsmall {
					margin-left: 33.33333%;
				}

				.row > .col-5-xsmall {
					width: 41.66667%;
				}

				.row > .off-5-xsmall {
					margin-left: 41.66667%;
				}

				.row > .col-6-xsmall {
					width: 50%;
				}

				.row > .off-6-xsmall {
					margin-left: 50%;
				}

				.row > .col-7-xsmall {
					width: 58.33333%;
				}

				.row > .off-7-xsmall {
					margin-left: 58.33333%;
				}

				.row > .col-8-xsmall {
					width: 66.66667%;
				}

				.row > .off-8-xsmall {
					margin-left: 66.66667%;
				}

				.row > .col-9-xsmall {
					width: 75%;
				}

				.row > .off-9-xsmall {
					margin-left: 75%;
				}

				.row > .col-10-xsmall {
					width: 83.33333%;
				}

				.row > .off-10-xsmall {
					margin-left: 83.33333%;
				}

				.row > .col-11-xsmall {
					width: 91.66667%;
				}

				.row > .off-11-xsmall {
					margin-left: 91.66667%;
				}

				.row > .col-12-xsmall {
					width: 100%;
				}

				.row > .off-12-xsmall {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.3125rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.3125rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.3125rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.3125rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.625rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.625rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.625rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.625rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.25rem;
				}

					.row > * {
						padding: 0 0 0 1.25rem;
					}

					.row.gtr-uniform {
						margin-top: -1.25rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.25rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.875rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.875rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.875rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.875rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2.5rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2.5rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2.5rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2.5rem;
						}

		}

/* Box */

	.box {
		border: solid 1px;
		border-radius: 10px;
		margin-bottom: 2rem;
		padding: 1.5rem;
	}

		.box > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

	.box {
		border-color: rgba(99, 116, 133, 0.25);
	}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		border-radius: 10px;
		border: 2px solid;
		cursor: pointer;
		display: inline-block;
		font-size: 0.7rem;
		font-weight: 900;
		height: 3rem;
		letter-spacing: 0.1rem;
		line-height: 2.75rem;
		padding: 0 1.5rem;
		position: relative;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"].icon,
		input[type="reset"].icon,
		input[type="button"].icon,
		button.icon,
		.button.icon {
			border-bottom: 2px solid;
		}

			input[type="submit"].icon:before,
			input[type="reset"].icon:before,
			input[type="button"].icon:before,
			button.icon:before,
			.button.icon:before {
				margin-right: 0.5rem;
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.65rem;
			height: 2.5rem;
			line-height: 2.25rem;
		}

		input[type="submit"].large,
		input[type="reset"].large,
		input[type="button"].large,
		button.large,
		.button.large {
			font-size: 1rem;
			height: 3.75rem;
			line-height: 3.5rem;
			padding: 0 2.25rem;
		}

		input[type="submit"].next,
		input[type="reset"].next,
		input[type="button"].next,
		button.next,
		.button.next {
			padding-right: 4.5rem;
		}

			input[type="submit"].next.fit,
			input[type="reset"].next.fit,
			input[type="button"].next.fit,
			button.next.fit,
			.button.next.fit {
				padding-left: 1.5rem !important;
				text-align: left;
			}

			input[type="submit"].next:after,
			input[type="reset"].next:after,
			input[type="button"].next:after,
			button.next:after,
			.button.next:after {
				background-position: center right;
				background-repeat: no-repeat;
				background-size: 25px 15px;
				content: '';
				display: block;
				height: 100%;
				position: absolute;
				right: 1.5rem;
				top: 0;
				vertical-align: middle;
				width: 1.25rem;
			}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
			pointer-events: none;
			opacity: 0.25;
		}

		@media screen and (max-width: 1280px) {

			input[type="submit"].large,
			input[type="reset"].large,
			input[type="button"].large,
			button.large,
			.button.large {
				font-size: 1rem;
				height: 4.25rem;
				line-height: 4rem;
			}

		}

		@media screen and (max-width: 736px) {

			input[type="submit"].alt,
			input[type="reset"].alt,
			input[type="button"].alt,
			button.alt,
			.button.alt {
				padding-left: 1.5rem !important;
				text-align: left;
			}

			input[type="submit"].large,
			input[type="reset"].large,
			input[type="button"].large,
			button.large,
			.button.large {
				font-size: 0.85rem;
				height: 3.75rem;
				line-height: 3.5rem;
				text-align: left;
			}

		}

		@media screen and (max-width: 480px) {

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				padding: 0;
			}

		}

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		background-color: transparent;
		border-color: #000000;
		color: #000000 !important;
	}

		input[type="submit"]:after,
		input[type="reset"]:after,
		input[type="button"]:after,
		button:after,
		.button:after {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='36px' height='24px' viewBox='0 0 36 24' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23000000%3B stroke-width: 2px%3B %7D%3C/style%3E%3Cline x1='0' y1='12' x2='34' y2='12' /%3E%3Cline x1='25' y1='4' x2='34' y2='12.5' /%3E%3Cline x1='25' y1='20' x2='34' y2='11.5' /%3E%3C/svg%3E");
		}

		input[type="submit"]:hover, input[type="submit"]:focus,
		input[type="reset"]:hover,
		input[type="reset"]:focus,
		input[type="button"]:hover,
		input[type="button"]:focus,
		button:hover,
		button:focus,
		.button:hover,
		.button:focus {
			background-color: rgba(99, 116, 133, 0.075);
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: rgba(99, 116, 133, 0.175);
		}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
			color: #000000;
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			box-shadow: none;
			background-color: #000000;
			color: #ffffff !important;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: rgba(0, 0, 0, 0.75);
			}

			input[type="submit"].primary.icon:before,
			input[type="reset"].primary.icon:before,
			input[type="button"].primary.icon:before,
			button.primary.icon:before,
			.button.primary.icon:before {
				color: #ffffff !important;
			}

/* Form */

	form {
		margin: 0 0 2rem 0;
	}

		form > :last-child {
			margin-bottom: 0;
		}

		form > .fields {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			width: calc(100% + 3rem);
			margin: -1.5rem 0 2rem -1.5rem;
		}

			form > .fields > .field {
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
				-moz-flex-shrink: 0;
				-webkit-flex-shrink: 0;
				-ms-flex-shrink: 0;
				flex-shrink: 0;
				padding: 1.5rem 0 0 1.5rem;
				width: calc(100% - 1.5rem);
			}

				form > .fields > .field.half {
					width: calc(50% - 0.75rem);
				}

				form > .fields > .field.third {
					width: calc(100%/3 - 0.5rem);
				}

				form > .fields > .field.quarter {
					width: calc(25% - 0.375rem);
				}

		@media screen and (max-width: 480px) {

			form > .fields {
				width: calc(100% + 3rem);
				margin: -1.5rem 0 2rem -1.5rem;
			}

				form > .fields > .field {
					padding: 1.5rem 0 0 1.5rem;
					width: calc(100% - 1.5rem);
				}

					form > .fields > .field.half {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.third {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.quarter {
						width: calc(100% - 1.5rem);
					}

		}

	label {
		display: block;
		font-size: 0.9rem;
		font-weight: 900;
		margin: 0 0 1rem 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		border-radius: 10px;
		border: solid 1px;
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1rem;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

	select {
		background-position: calc(100% - 1rem) center;
		background-repeat: no-repeat;
		background-size: 1.25rem;
		height: 3rem;
		padding-right: 3rem;
		text-overflow: ellipsis;
	}

		select:focus::-ms-value {
			background-color: transparent;
		}

		select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 3rem;
	}

	textarea {
		padding: 0.75rem 1rem;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2rem;
		opacity: 0;
		width: 1rem;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			cursor: pointer;
			display: inline-block;
			font-size: 1rem;
			font-weight: 300;
			padding-left: 2.55rem;
			padding-right: 0.75rem;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				border-radius: 10px;
				border: solid 1px;
				content: '';
				display: inline-block;
				font-size: 0.8rem;
				height: 1.8rem;
				left: 0;
				line-height: 1.8rem;
				position: absolute;
				text-align: center;
				top: 0;
				width: 1.8rem;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			content: '\f00c';
		}

	input[type="checkbox"] + label:before {
		border-radius: 10px;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		opacity: 1.0;
	}

	:-moz-placeholder {
		opacity: 1.0;
	}

	::-moz-placeholder {
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		opacity: 1.0;
	}

	label {
		color: #000000;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		background-color: #ffffff;
		border-color: rgba(99, 116, 133, 0.25);
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		select:focus,
		textarea:focus {
			border-color: #000000;
			box-shadow: 0 0 0 1px #000000;
		}

	select {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(99, 116, 133, 0.25)' /%3E%3C/svg%3E");
	}

		select option {
			color: #000000;
			background: #ffffff;
		}

	input[type="checkbox"] + label,
	input[type="radio"] + label {
		color: #282828;
	}

		input[type="checkbox"] + label:before,
		input[type="radio"] + label:before {
			background: #ffffff;
			border-color: rgba(99, 116, 133, 0.25);
		}

	input[type="checkbox"]:checked + label:before,
	input[type="radio"]:checked + label:before {
		background-color: #000000;
		border-color: #000000;
		color: #ffffff;
	}

	input[type="checkbox"]:focus + label:before,
	input[type="radio"]:focus + label:before {
		border-color: #000000;
		box-shadow: 0 0 0 1px #000000;
	}

	::-webkit-input-placeholder {
		color: rgba(40, 40, 40, 0.5) !important;
	}

	:-moz-placeholder {
		color: rgba(40, 40, 40, 0.5) !important;
	}

	::-moz-placeholder {
		color: rgba(40, 40, 40, 0.5) !important;
	}

	:-ms-input-placeholder {
		color: rgba(40, 40, 40, 0.5) !important;
	}

	.formerize-placeholder {
		color: rgba(40, 40, 40, 0.5) !important;
	}

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

		.icon.alt:before {
			background: #000000;
			border-radius: 50%;
			color: #ffffff;
			display: inline-block;
			height: 3rem;
			line-height: 3rem;
			margin-right: 1rem;
			text-align: center;
			width: 3rem;
		}

		.icon.alt > .label {
			display: inline-block;
		}

/* Image */

	.image {
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			display: block;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 1.5rem 1rem 0;
			top: 0.25rem;
		}

		.image.right {
			float: right;
			margin: 0 0 1rem 1.5rem;
			top: 0.25rem;
		}

		.image.fit {
			display: block;
			margin: 0 0 2rem 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 0 0 3rem 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

		@media screen and (max-width: 736px) {

			.image.main {
				margin: 0 0 2rem 0;
			}

		}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2rem 0;
		padding-left: 1.25rem;
	}

		ol li {
			padding-left: 0.25rem;
		}

	ul {
		list-style: disc;
		margin: 0 0 2rem 0;
		padding-left: 1rem;
	}

		ul li {
			padding-left: 0.5rem;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px;
				padding: 0.5rem 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

	dl {
		margin: 0 0 2rem 0;
	}

		dl dt {
			display: block;
			font-weight: 900;
			margin: 0 0 1rem 0;
		}

		dl dd {
			margin-left: 2rem;
		}

	ul.alt li {
		border-top-color: rgba(99, 116, 133, 0.25);
	}

/* Actions */

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1rem;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1rem;
			vertical-align: middle;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3rem 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(100% + 1rem);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				width: 100%;
			}

				ul.actions.fit li > * {
					width: 100%;
				}

			ul.actions.fit.stacked {
				width: 100%;
			}

		@media screen and (max-width: 480px) {

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1rem 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}

					ul.actions:not(.fixed) li input[type="submit"],
					ul.actions:not(.fixed) li input[type="reset"],
					ul.actions:not(.fixed) li input[type="button"],
					ul.actions:not(.fixed) li button,
					ul.actions:not(.fixed) li .button {
						width: 100%;
					}

						ul.actions:not(.fixed) li input[type="submit"].icon:before,
						ul.actions:not(.fixed) li input[type="reset"].icon:before,
						ul.actions:not(.fixed) li input[type="button"].icon:before,
						ul.actions:not(.fixed) li button.icon:before,
						ul.actions:not(.fixed) li .button.icon:before {
							margin-left: -0.5rem;
						}

		}

/* Tabs */

	.tabs {
		width: 100%;
	}

		.tabs > .titles {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			-moz-justify-content: -moz-flex-start;
			-webkit-justify-content: -webkit-flex-start;
			-ms-justify-content: -ms-flex-start;
			justify-content: flex-start;
			-moz-user-select: none;
			-webkit-user-select: none;
			-ms-user-select: none;
			user-select: none;
			list-style: none;
			margin: 0 0 2rem 0;
			padding: 0;
		}

			.tabs > .titles:before {
				content: '';
				display: block;
				height: 6rem;
				left: 0;
				position: absolute;
				width: 100%;
				z-index: 0;
			}

			.tabs > .titles > .title {
				-moz-transition-property: color, background-color, box-shadow;
				-webkit-transition-property: color, background-color, box-shadow;
				-ms-transition-property: color, background-color, box-shadow;
				transition-property: color, background-color, box-shadow;
				-moz-transition-duration: 0.2s;
				-webkit-transition-duration: 0.2s;
				-ms-transition-duration: 0.2s;
				transition-duration: 0.2s;
				font-size: 1rem;
				font-weight: 900;
				letter-spacing: 0.25rem;
				margin-right: 5rem;
				margin-bottom: 2rem;
				padding-bottom: 1rem;
				padding: 0;
				position: relative;
				text-align: center;
				text-transform: uppercase;
				z-index: 1;
			}

				.tabs > .titles > .title:last-child {
					margin-right: 0;
				}

				.tabs > .titles > .title:hover {
					-moz-animation: tab-title 0.5s ease forwards;
					-webkit-animation: tab-title 0.5s ease forwards;
					-ms-animation: tab-title 0.5s ease forwards;
					animation: tab-title 0.5s ease forwards;
				}

				.tabs > .titles > .title.active {
					-moz-animation: tab-title 0.5s ease forwards;
					-webkit-animation: tab-title 0.5s ease forwards;
					-ms-animation: tab-title 0.5s ease forwards;
					animation: tab-title 0.5s ease forwards;
				}

			@media screen and (max-width: 736px) {

				.tabs > .titles {
					margin: 0 0 1rem 0;
				}

					.tabs > .titles > .title {
						margin-bottom: 1.25rem;
						margin-right: 1.25rem;
					}

			}

			@media screen and (max-width: 480px) {

				.tabs > .titles {
					margin: 0 0 1rem 0;
				}

					.tabs > .titles > .title {
						font-size: 0.75rem;
						margin-bottom: 1rem;
						margin-right: 1rem;
					}

			}

		.tabs > .panels > .panel {
			-moz-transition: opacity 0.2s ease-in-out;
			-webkit-transition: opacity 0.2s ease-in-out;
			-ms-transition: opacity 0.2s ease-in-out;
			transition: opacity 0.2s ease-in-out;
			opacity: 0;
		}

			.tabs > .panels > .panel.active {
				opacity: 1;
			}

	.tabs > .titles > .title:hover {
		box-shadow: 0 2px 0 0 rgba(99, 116, 133, 0.25);
	}

	.tabs > .titles > .title.active {
		box-shadow: 0 2px 0 0 #000000;
	}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding: 0 1rem 0 0;
		}

			ul.icons li:last-child {
				padding-right: 0;
			}

			ul.icons li .icon:before {
				font-size: 1.5rem;
			}

/* Contact Icons */

	ul.contact-icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.contact-icons li {
			padding-top: 2rem;
		}

			ul.contact-icons li .icon:before {
				border-radius: 50%;
				display: inline-block;
				height: 3rem;
				line-height: 3rem;
				margin-right: 1rem;
				text-align: center;
				width: 3rem;
			}

			ul.contact-icons li .icon > .label {
				display: inline-block;
			}

			ul.contact-icons li:first-child {
				padding-top: 0;
			}

		@media screen and (max-width: 980px) {

			ul.contact-icons {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-flex-wrap: wrap;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
			}

				ul.contact-icons li {
					width: 50%;
				}

					ul.contact-icons li:nth-child(2) {
						padding-top: 0;
					}

		}

		@media screen and (max-width: 736px) {

			ul.contact-icons {
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-flex-wrap: wrap;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
			}

				ul.contact-icons li {
					width: 100%;
				}

					ul.contact-icons li:nth-child(2) {
						padding-top: 2.5rem;
					}

		}

	ul.contact-icons li .icon:before {
		background: #000000;
		color: #ffffff;
	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header p {
		position: relative;
		margin: 0 0 1.5rem 0;
	}

	header h2 + p {
		font-size: 1.25rem;
		margin-top: -1rem;
	}

	header h3 + p {
		font-size: 1.1rem;
		margin-top: -0.8rem;
	}

	header h4 + p,
	header h5 + p,
	header h6 + p {
		font-size: 0.9rem;
		margin-top: -0.6rem;
	}

	header.major {
		margin-bottom: 2.7rem;
		padding-bottom: 2.7rem;
		position: relative;
	}

		header.major h1 {
			border-bottom: 1px solid;
			margin-bottom: 2rem;
			padding-bottom: 2rem;
		}

		header.major p {
			font-size: 1.5rem;
			margin-bottom: 0;
		}

		header.major.alt {
			margin-bottom: 0;
		}

	@media screen and (max-width: 1280px) {

		header.major {
			margin-bottom: 2.5rem;
			padding-bottom: 2.5rem;
		}

			header.major h1 {
				margin-bottom: 1rem;
				padding-bottom: 1rem;
			}

			header.major p {
				font-size: 1.45rem;
			}

			header.major.alt {
				margin-bottom: 2.7rem;
			}

	}

	@media screen and (max-width: 980px) {

		header.major p {
			font-size: 1.35rem;
		}

	}

	@media screen and (max-width: 736px) {

		header.major {
			margin-bottom: 1.8rem;
			padding-bottom: 1.3rem;
		}

			header.major p {
				font-size: 1.25rem;
			}

			header.major.alt {
				margin-bottom: 1.8rem;
			}

	}

	@media screen and (max-width: 480px) {

		header.major p {
			font-size: 1.25rem;
		}

	}

	header p {
		color: #282828;
	}

	header.major h1 {
		border-color: rgba(99, 116, 133, 0.25);
	}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2rem 0;
		width: 100%;
	}

		table tbody tr {
			border-left: 0;
			border-right: 0;
			border: solid 1px;
		}

		table td {
			padding: 0.75rem 0.75rem;
		}

		table th {
			font-size: 0.9rem;
			font-weight: 900;
			padding: 0 0.75rem 0.75rem 0.75rem;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px;
		}

		table tfoot {
			border-top: solid 2px;
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px;
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

	table tbody tr {
		border-color: rgba(99, 116, 133, 0.25);
	}

		table tbody tr:nth-child(2n + 1) {
			background-color: rgba(99, 116, 133, 0.075);
		}

	table th {
		color: #000000;
	}

	table thead {
		border-bottom-color: rgba(99, 116, 133, 0.25);
	}

	table tfoot {
		border-top-color: rgba(99, 116, 133, 0.25);
	}

	table.alt tbody tr td {
		border-color: rgba(99, 116, 133, 0.25);
	}

/* Wrapper */

	.wrapper {
		padding: 10rem 0 12rem 0;
		position: relative;
	}

		.wrapper:before, .wrapper:after {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 0,100 100,100' style='fill:%23ffffff%3B' /%3E%3C/svg%3E");
			z-index: 2;
		}

		.wrapper > .inner {
			margin: 0 auto;
			max-width: 65rem;
			width: calc(100% - 4rem);
		}

		.wrapper:before, .wrapper:after {
			background-repeat: no-repeat;
			background-size: 100% 100%;
			height: 6rem;
			left: 0;
			position: absolute;
			width: 100%;
		}

		.wrapper:before {
			-moz-transform: translateY(-100%) scale(-1, 1);
			-webkit-transform: translateY(-100%) scale(-1, 1);
			-ms-transform: translateY(-100%) scale(-1, 1);
			transform: translateY(-100%) scale(-1, 1);
			content: '';
			top: 0;
		}

		.wrapper.alt {
			padding-bottom: 1rem;
		}

			.wrapper.alt:after {
				-moz-transform: translateY(100%) rotate(180deg);
				-webkit-transform: translateY(100%) rotate(180deg);
				-ms-transform: translateY(100%) rotate(180deg);
				transform: translateY(100%) rotate(180deg);
				bottom: 0;
				content: '';
			}

		.wrapper.style2 {
			background: #f9f9f9;
		}

			.wrapper.style2:before, .wrapper.style2:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 0,100 100,100' style='fill:%23f9f9f9%3B' /%3E%3C/svg%3E");
				z-index: 2;
			}

		@media screen and (max-width: 1680px) {

			.wrapper {
				padding: 8rem 0 10rem 0;
			}

		}

		@media screen and (max-width: 1280px) {

			.wrapper {
				padding: 6rem 0 8rem 0;
			}

				.wrapper:before, .wrapper:after {
					height: 4rem;
				}

				.wrapper > .inner {
					max-width: 75rem;
					width: calc(100% - 8rem);
				}

		}

		@media screen and (max-width: 980px) {

			.wrapper {
				padding: 4rem 0 6rem 0;
			}

				.wrapper:before, .wrapper:after {
					height: 3rem;
				}

		}

		@media screen and (max-width: 736px) {

			.wrapper {
				padding: 4rem 0 6rem 0;
			}

				.wrapper > .inner {
					width: calc(100% - 6rem);
				}

				.wrapper:before, .wrapper:after {
					height: 2rem;
				}

				.wrapper.alt {
					padding-bottom: 0;
				}

		}

		@media screen and (max-width: 480px) {

			.wrapper {
				padding: 3rem 0 3rem 0;
			}

				.wrapper > .inner {
					width: calc(100% - 4rem);
				}

		}

/* Gallery (may need to adjust gaps/margins) */

	@-moz-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@-webkit-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@-ms-keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	@keyframes gallery-modal-spinner {
		0% {
			-moz-transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
			-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		}

		100% {
			-moz-transform: rotate(360deg);
			-webkit-transform: rotate(360deg);
			-ms-transform: rotate(360deg);
			transform: rotate(360deg);
		}
	}

	.gallery {
		column-gap: 2rem;
		columns: 3;
		margin: 0 0 2rem 0;
		width: 100%;
	}

		.gallery a, .gallery span {
			display: block;
			margin: 0 0 2rem 0;
		}

			.gallery a img, .gallery span img {
				display: block;
				width: 100%;
			}

		@media screen and (max-width: 980px) {

			.gallery {
				columns: 2;
			}

		}

		@media screen and (max-width: 736px) {

			.gallery {
				column-gap: 0.5rem;
			}

				.gallery a, .gallery span {
					margin: 0 0 0.5rem 0;
				}

		}

		.gallery .modal {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-align-items: center;
			-webkit-align-items: center;
			-ms-align-items: center;
			align-items: center;
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			pointer-events: none;
			-moz-user-select: none;
			-webkit-user-select: none;
			-ms-user-select: none;
			user-select: none;
			-moz-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-webkit-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-ms-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s;
			-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
			background-color: rgba(255, 255, 255, 0.875);
			height: 100%;
			left: 0;
			opacity: 0;
			outline: 0;
			position: fixed;
			top: 0;
			visibility: none;
			width: 100%;
			z-index: 0;
		}

			.gallery .modal:before {
				-moz-animation: gallery-modal-spinner 1s infinite linear;
				-webkit-animation: gallery-modal-spinner 1s infinite linear;
				-ms-animation: gallery-modal-spinner 1s infinite linear;
				animation: gallery-modal-spinner 1s infinite linear;
				-moz-transition: opacity 0.25s ease;
				-webkit-transition: opacity 0.25s ease;
				-ms-transition: opacity 0.25s ease;
				transition: opacity 0.25s ease;
				-moz-transition-delay: 0.5s;
				-webkit-transition-delay: 0.5s;
				-ms-transition-delay: 0.5s;
				transition-delay: 0.5s;
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='96px' height='96px' viewBox='0 0 96 96' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: %23000000%3B stroke-width: 1.5px%3B %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E");
				background-position: center;
				background-repeat: no-repeat;
				background-size: 4rem;
				content: '';
				display: block;
				height: 4rem;
				left: 50%;
				margin: -2rem 0 0 -2rem;
				opacity: 0;
				position: absolute;
				top: 50%;
				width: 4rem;
			}

			.gallery .modal:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: %23000000%3Bstroke-width: 1.5px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
				background-position: center;
				background-repeat: no-repeat;
				background-size: 3rem;
				content: '';
				cursor: pointer;
				display: block;
				height: 4rem;
				position: absolute;
				right: 0.5rem;
				top: 0.5rem;
				width: 4rem;
			}

			.gallery .modal .inner {
				-moz-transform: translateY(0.75rem);
				-webkit-transform: translateY(0.75rem);
				-ms-transform: translateY(0.75rem);
				transform: translateY(0.75rem);
				-moz-transition: opacity 0.25s ease, -moz-transform 0.25s ease;
				-webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease;
				-ms-transition: opacity 0.25s ease, -ms-transform 0.25s ease;
				transition: opacity 0.25s ease, transform 0.25s ease;
				opacity: 0;
			}

				.gallery .modal .inner img {
					box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35);
					display: block;
					max-height: 85vh;
					max-width: 90vw;
				}

			.gallery .modal.visible {
				pointer-events: auto;
				opacity: 1;
				visibility: visible;
				z-index: 11000;
			}

				.gallery .modal.visible:before {
					opacity: 1;
				}

			.gallery .modal.loaded .inner {
				-moz-transform: translateY(0);
				-webkit-transform: translateY(0);
				-ms-transform: translateY(0);
				transform: translateY(0);
				-moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease;
				-webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
				-ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease;
				transition: opacity 0.5s ease, transform 0.5s ease;
				opacity: 1;
			}

			.gallery .modal.loaded:before {
				-moz-transition-delay: 0s;
				-webkit-transition-delay: 0s;
				-ms-transition-delay: 0s;
				transition-delay: 0s;
				opacity: 0;
			}

/* Split */

	.split {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		margin: 0 auto 3rem;
	}

		.split h2 {
			border-bottom: 2px solid;
			display: inline-block;
			font-size: 1rem;
			letter-spacing: 0.25rem;
			margin-bottom: 2.5rem;
			padding-bottom: 1rem;
		}

		.split .content {
			border-right: 1px solid;
			min-width: 70%;
			padding-right: 3rem;
			width: 70%;
		}

			.split .content p {
				margin-bottom: 2.5rem;
			}

			.split .content > *:last-child {
				margin-bottom: 0;
			}

		.split .contact-icons {
			margin-bottom: 0;
			padding-left: 4rem;
		}

	@media screen and (max-width: 1280px) {

		.split .content {
			min-width: 60%;
			width: 60%;
		}

	}

	@media screen and (max-width: 980px) {

		.split {
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		}

			.split .content {
				border-bottom: 1px solid;
				border-right: none;
				padding-bottom: 3rem;
				padding-right: 0;
				width: 100%;
			}

			.split .contact-icons {
				margin-bottom: 0;
				padding-left: 0;
				padding-top: 3rem;
			}

	}

	.split h2 {
		border-color: #000000;
	}

	.split .content {
		border-color: rgba(99, 116, 133, 0.25);
	}

/* Header */

	@-moz-keyframes reveal-header {
		0% {
			top: -4rem;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@-webkit-keyframes reveal-header {
		0% {
			top: -4rem;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@-ms-keyframes reveal-header {
		0% {
			top: -4rem;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@keyframes reveal-header {
		0% {
			top: -4rem;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	body #page-wrapper {
		padding-top: 4rem;
	}

		@media screen and (max-width: 736px) {

			body #page-wrapper {
				padding-top: 3rem;
			}

		}

	#header {
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-justify-content: -moz-flex-end;
		-webkit-justify-content: -webkit-flex-end;
		-ms-justify-content: -ms-flex-end;
		justify-content: flex-end;
		-moz-transition-duration: 0.2s;
		-webkit-transition-duration: 0.2s;
		-ms-transition-duration: 0.2s;
		transition-duration: 0.2s;
		-moz-transition-property: background-color padding;
		-webkit-transition-property: background-color padding;
		-ms-transition-property: background-color padding;
		transition-property: background-color padding;
		-moz-transition-timing-function: ease-in-out;
		-webkit-transition-timing-function: ease-in-out;
		-ms-transition-timing-function: ease-in-out;
		transition-timing-function: ease-in-out;
		background: #ffffff;
		border: none;
		color: #282828;
		height: 4rem;
		left: 0;
		line-height: 4rem;
		padding: 0;
		position: fixed;
		text-transform: uppercase;
		top: 0;
		width: 100%;
		z-index: 10001;
	}

		#header > .logo {
			-moz-flex: 1;
			-webkit-flex: 1;
			-ms-flex: 1;
			flex: 1;
			cursor: default;
			display: block;
			font-size: 1rem;
			letter-spacing: 0.25rem;
			padding-left: 2rem;
			white-space: nowrap;
		}

			#header > .logo a {
				-moz-transition: color 0.2s ease-in-out;
				-webkit-transition: color 0.2s ease-in-out;
				-ms-transition: color 0.2s ease-in-out;
				transition: color 0.2s ease-in-out;
				color: inherit;
				font-weight: 900;
				letter-spacing: 0.25rem;
				text-decoration: none;
			}

				#header > .logo a span {
					font-weight: 300;
				}

		#header > a {
			-moz-transition: color 0.2s ease-in-out;
			-webkit-transition: color 0.2s ease-in-out;
			-ms-transition: color 0.2s ease-in-out;
			transition: color 0.2s ease-in-out;
			color: inherit;
			display: block;
			font-weight: 300;
			letter-spacing: 0.25rem;
			padding: 0 0.75rem;
			text-decoration: none;
		}

			#header > a:hover, #header > a:focus {
				color: rgba(0, 0, 0, 0.5);
			}

			#header > a[href="#menu"] {
				-moz-transition: background 0.2s ease-in-out;
				-webkit-transition: background 0.2s ease-in-out;
				-ms-transition: background 0.2s ease-in-out;
				transition: background 0.2s ease-in-out;
				text-decoration: none;
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
				border-left: 1px solid rgba(99, 116, 133, 0.25);
				height: calc(4rem - 1px);
				line-height: 4rem;
				margin-left: 0.5rem;
				padding: 0 2rem;
			}

				#header > a[href="#menu"]:before {
					-moz-osx-font-smoothing: grayscale;
					-webkit-font-smoothing: antialiased;
					display: inline-block;
					font-style: normal;
					font-variant: normal;
					text-rendering: auto;
					line-height: 1;
					text-transform: none !important;
					font-family: 'Font Awesome 5 Free';
					font-weight: 900;
				}

				#header > a[href="#menu"] span {
					-moz-order: 1;
					-webkit-order: 1;
					-ms-order: 1;
					order: 1;
					font-family: "Lato", Helvetica, sans-serif;
					font-size: 0.65rem;
					font-weight: 900;
					margin-right: 0.25rem;
				}

				#header > a[href="#menu"]:hover, #header > a[href="#menu"]:focus {
					background-color: rgba(99, 116, 133, 0.075);
					color: #000000;
				}

					#header > a[href="#menu"]:hover:before, #header > a[href="#menu"]:focus:before {
						background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 6px%3B stroke: %23000000%3B %7D%3C/style%3E%3Cline x1='10' y1='30' x2='90' y2='30' /%3E%3Cline x1='10' y1='50' x2='90' y2='50' /%3E%3Cline x1='10' y1='70' x2='90' y2='70' /%3E%3C/svg%3E");
					}

				#header > a[href="#menu"]:before {
					-moz-order: 2;
					-webkit-order: 2;
					-ms-order: 2;
					order: 2;
					background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 6px%3B stroke: %23000000%3B %7D%3C/style%3E%3Cline x1='10' y1='30' x2='90' y2='30' /%3E%3Cline x1='10' y1='50' x2='90' y2='50' /%3E%3Cline x1='10' y1='70' x2='90' y2='70' /%3E%3C/svg%3E");
					background-position: center;
					background-repeat: no-repeat;
					background-size: 1.75rem;
					content: '';
					float: right;
					height: 1rem;
					margin-left: 0.5rem;
					opacity: 1;
					width: 1rem;
				}

		#header.alt {
			background-color: transparent;
			border-bottom: 1px solid rgba(255, 255, 255, 0.25);
			color: #ffffff;
			position: absolute;
		}

			#header.alt > a:hover, #header.alt > a:focus {
				color: #ffffff;
			}

			#header.alt > a[href="#menu"] {
				border-left: 1px solid rgba(255, 255, 255, 0.25);
			}

				#header.alt > a[href="#menu"]:hover, #header.alt > a[href="#menu"]:focus {
					background-color: rgba(255, 255, 255, 0.065);
				}

					#header.alt > a[href="#menu"]:hover:before, #header.alt > a[href="#menu"]:focus:before {
						background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 6px%3B stroke: %23ffffff%3B %7D%3C/style%3E%3Cline x1='10' y1='30' x2='90' y2='30' /%3E%3Cline x1='10' y1='50' x2='90' y2='50' /%3E%3Cline x1='10' y1='70' x2='90' y2='70' /%3E%3C/svg%3E");
					}

				#header.alt > a[href="#menu"]:before {
					background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Eline %7B stroke-width: 6px%3B stroke: %23ffffff%3B %7D%3C/style%3E%3Cline x1='10' y1='30' x2='90' y2='30' /%3E%3Cline x1='10' y1='50' x2='90' y2='50' /%3E%3Cline x1='10' y1='70' x2='90' y2='70' /%3E%3C/svg%3E");
				}

		#header + #banner {
			margin-top: -4rem;
		}

		#header.reveal {
			-moz-animation: reveal-header 0.5s ease;
			-webkit-animation: reveal-header 0.5s ease;
			-ms-animation: reveal-header 0.5s ease;
			animation: reveal-header 0.5s ease;
		}

			#header.reveal > .logo {
				padding-left: 1.25rem;
			}

			#header.reveal > nav {
				padding-right: 0;
			}

		@media screen and (max-width: 736px) {

			#header {
				-moz-align-items: -moz-flex-start;
				-webkit-align-items: -webkit-flex-start;
				-ms-align-items: -ms-flex-start;
				align-items: flex-start;
				height: 3rem;
				line-height: 3rem;
				padding: 0 0 0 0.5rem;
			}

				#header > .logo {
					font-size: 0.8rem;
					padding-left: 1rem;
				}

					#header > .logo span {
						display: none;
					}

				#header > a[href="#menu"] {
					height: calc(3rem - 1px);
					line-height: 3rem;
					padding: 0 1.5rem;
				}

					#header > a[href="#menu"]:before {
						margin-left: 0;
					}

					#header > a[href="#menu"] span {
						display: none;
					}

					#header > a[href="#menu"]:hover {
						background-color: transparent;
					}

		}

		@media screen and (max-width: 480px) {

			#header {
				min-width: 320px;
			}

				#header + #banner {
					margin-top: -5rem;
				}

		}

/* Menu */

	#page-wrapper {
		-moz-transition: -moz-filter 0.25s ease;
		-webkit-transition: -webkit-filter 0.25s ease;
		-ms-transition: -ms-filter 0.25s ease;
		transition: filter 0.25s ease;
	}

	#menu {
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		pointer-events: none;
		-moz-transition: opacity 0.5s ease, visibility 0.5s;
		-webkit-transition: opacity 0.5s ease, visibility 0.5s;
		-ms-transition: opacity 0.5s ease, visibility 0.5s;
		transition: opacity 0.5s ease, visibility 0.5s;
		-moz-user-select: none;
		-ms-user-select: none;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		-webkit-user-select: none;
		background-color: rgba(224, 224, 224, 0.9);
		cursor: default;
		height: 100%;
		left: 0;
		opacity: 0;
		padding: 1.5rem;
		position: fixed;
		text-align: center;
		top: 0;
		user-select: none;
		visibility: hidden;
		width: 100%;
		z-index: 10002;
	}

		#menu .inner {
			padding: 2.5rem 1.5rem 0.5rem 1.5rem ;
			-moz-transform: translateY(0.5rem);
			-webkit-transform: translateY(0.5rem);
			-ms-transform: translateY(0.5rem);
			transform: translateY(0.5rem);
			-moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease;
			-webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
			-ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease;
			transition: opacity 0.5s ease, transform 0.5s ease;
			-webkit-overflow-scrolling: touch;
			background: #000000;
			border-radius: 10px;
			color: #ffffff;
			display: block;
			max-width: 100%;
			opacity: 0;
			position: relative;
			text-transform: uppercase;
			width: 24rem;
		}

		#menu h2 {
			border-bottom: solid 1px rgba(255, 255, 255, 0.25);
			color: inherit;
			font-family: "Oswald", Helvetica, sans-serif;
			letter-spacing: 0.1rem;
			padding-bottom: 1rem;
		}

		#menu .close {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: %23ffffff%3Bstroke-width: 1.5px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E");
			background-position: center;
			background-repeat: no-repeat;
			background-size: 3rem;
			content: '';
			cursor: pointer;
			display: block;
			height: 4rem;
			position: absolute;
			right: 0.5rem;
			top: 0.5rem;
			width: 4rem;
		}

			#menu .close span {
				display: none;
			}

		#menu .links {
			list-style: none;
			margin-bottom: 1.5rem;
			padding: 0;
		}

			#menu .links li {
				padding: 0;
			}

				#menu .links li a {
					-moz-transition: color ease-in-out;
					-webkit-transition: color ease-in-out;
					-ms-transition: color ease-in-out;
					transition: color ease-in-out;
					background-color: transparent;
					border: 0;
					color: inherit;
					display: block;
					font-weight: 300;
					letter-spacing: 0.25rem;
					line-height: 1.85rem;
					padding: 0.75rem 0;
					text-decoration: none;
				}

					#menu .links li a:hover {
						background-color: #ffffff;
						color: #000000;
					}

		@media screen and (max-width: 736px) {

			#menu .inner {
				max-height: 100%;
				overflow-x: hidden;
				overflow-y: auto;
			}

				#menu .inner .close {
					background-size: 1.5rem 1.5rem;
				}

		}

	body.is-menu-visible #page-wrapper {
		-moz-filter: blur(1.5px);
		-webkit-filter: blur(1.5px);
		-ms-filter: blur(1.5px);
		filter: blur(1.5px);
	}

	body.is-menu-visible #menu {
		pointer-events: auto;
		opacity: 1;
		visibility: visible;
	}

		body.is-menu-visible #menu .inner {
			-moz-transform: translateY(0);
			-webkit-transform: translateY(0);
			-ms-transform: translateY(0);
			transform: translateY(0);
			opacity: 1;
		}

/* Banner */

	#banner {
		background-color: #000000;
		color: #ffffff;
		align-items: center;
		color: #ffffff;
		display: flex;
		justify-content: center;
		min-height: 40rem;
		min-height: 95vh;
		position: relative;
		width: 100%;
	}

		#banner input, #banner select, #banner textarea {
			color: #ffffff;
		}

		#banner a {
			color: #ffffff;
		}

		#banner strong, #banner b {
			color: #ffffff;
		}

		#banner h1, #banner h2, #banner h3, #banner h4, #banner h5, #banner h6 {
			color: #ffffff;
		}

		#banner blockquote {
			border-left-color: rgba(255, 255, 255, 0.25);
		}

		#banner code {
			background: rgba(255, 255, 255, 0.065);
			border-color: rgba(255, 255, 255, 0.25);
		}

		#banner hr {
			border-bottom-color: rgba(255, 255, 255, 0.25);
		}

		#banner .box {
			border-color: rgba(255, 255, 255, 0.25);
		}

		#banner input[type="submit"],
		#banner input[type="reset"],
		#banner input[type="button"],
		#banner button,
		#banner .button {
			background-color: transparent;
			border-color: #ffffff;
			color: #ffffff !important;
		}

			#banner input[type="submit"]:after,
			#banner input[type="reset"]:after,
			#banner input[type="button"]:after,
			#banner button:after,
			#banner .button:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='36px' height='24px' viewBox='0 0 36 24' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 2px%3B %7D%3C/style%3E%3Cline x1='0' y1='12' x2='34' y2='12' /%3E%3Cline x1='25' y1='4' x2='34' y2='12.5' /%3E%3Cline x1='25' y1='20' x2='34' y2='11.5' /%3E%3C/svg%3E");
			}

			#banner input[type="submit"]:hover, #banner input[type="submit"]:focus,
			#banner input[type="reset"]:hover,
			#banner input[type="reset"]:focus,
			#banner input[type="button"]:hover,
			#banner input[type="button"]:focus,
			#banner button:hover,
			#banner button:focus,
			#banner .button:hover,
			#banner .button:focus {
				background-color: rgba(255, 255, 255, 0.065);
			}

			#banner input[type="submit"]:active,
			#banner input[type="reset"]:active,
			#banner input[type="button"]:active,
			#banner button:active,
			#banner .button:active {
				background-color: rgba(255, 255, 255, 0.165);
			}

			#banner input[type="submit"].icon:before,
			#banner input[type="reset"].icon:before,
			#banner input[type="button"].icon:before,
			#banner button.icon:before,
			#banner .button.icon:before {
				color: #ffffff;
			}

			#banner input[type="submit"].primary,
			#banner input[type="reset"].primary,
			#banner input[type="button"].primary,
			#banner button.primary,
			#banner .button.primary {
				box-shadow: none;
				background-color: #000000;
				color: #ffffff !important;
			}

				#banner input[type="submit"].primary:hover,
				#banner input[type="reset"].primary:hover,
				#banner input[type="button"].primary:hover,
				#banner button.primary:hover,
				#banner .button.primary:hover {
					background-color: rgba(0, 0, 0, 0.75);
				}

				#banner input[type="submit"].primary.icon:before,
				#banner input[type="reset"].primary.icon:before,
				#banner input[type="button"].primary.icon:before,
				#banner button.primary.icon:before,
				#banner .button.primary.icon:before {
					color: #ffffff !important;
				}

		#banner label {
			color: #ffffff;
		}

		#banner input[type="text"],
		#banner input[type="password"],
		#banner input[type="email"],
		#banner select,
		#banner textarea {
			background-color: #000000;
			border-color: rgba(255, 255, 255, 0.25);
		}

			#banner input[type="text"]:focus,
			#banner input[type="password"]:focus,
			#banner input[type="email"]:focus,
			#banner select:focus,
			#banner textarea:focus {
				border-color: #ffffff;
				box-shadow: 0 0 0 1px #ffffff;
			}

		#banner select {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.25)' /%3E%3C/svg%3E");
		}

			#banner select option {
				color: #ffffff;
				background: #000000;
			}

		#banner input[type="checkbox"] + label,
		#banner input[type="radio"] + label {
			color: #ffffff;
		}

			#banner input[type="checkbox"] + label:before,
			#banner input[type="radio"] + label:before {
				background: #000000;
				border-color: rgba(255, 255, 255, 0.25);
			}

		#banner input[type="checkbox"]:checked + label:before,
		#banner input[type="radio"]:checked + label:before {
			background-color: #ffffff;
			border-color: #ffffff;
			color: #000000;
		}

		#banner input[type="checkbox"]:focus + label:before,
		#banner input[type="radio"]:focus + label:before {
			border-color: #ffffff;
			box-shadow: 0 0 0 1px #ffffff;
		}

		#banner ::-webkit-input-placeholder {
			color: rgba(255, 255, 255, 0.75) !important;
		}

		#banner :-moz-placeholder {
			color: rgba(255, 255, 255, 0.75) !important;
		}

		#banner ::-moz-placeholder {
			color: rgba(255, 255, 255, 0.75) !important;
		}

		#banner :-ms-input-placeholder {
			color: rgba(255, 255, 255, 0.75) !important;
		}

		#banner .formerize-placeholder {
			color: rgba(255, 255, 255, 0.75) !important;
		}

		#banner ul.alt li {
			border-top-color: rgba(255, 255, 255, 0.25);
		}

		#banner header p {
			color: #ffffff;
		}

		#banner header.major h1 {
			border-color: rgba(255, 255, 255, 0.25);
		}

		#banner table tbody tr {
			border-color: rgba(255, 255, 255, 0.25);
		}

			#banner table tbody tr:nth-child(2n + 1) {
				background-color: rgba(255, 255, 255, 0.065);
			}

		#banner table th {
			color: #ffffff;
		}

		#banner table thead {
			border-bottom-color: rgba(255, 255, 255, 0.25);
		}

		#banner table tfoot {
			border-top-color: rgba(255, 255, 255, 0.25);
		}

		#banner table.alt tbody tr td {
			border-color: rgba(255, 255, 255, 0.25);
		}

		#banner ul.contact-icons li .icon:before {
			background: #000000;
			color: #ffffff;
		}

		#banner .split h2 {
			border-color: #ffffff;
		}

		#banner .split .content {
			border-color: rgba(255, 255, 255, 0.25);
		}

		#banner .tabs > .titles > .title:hover {
			box-shadow: 0 2px 0 0 rgba(255, 255, 255, 0.25);
		}

		#banner .tabs > .titles > .title.active {
			box-shadow: 0 2px 0 0 #ffffff;
		}

		#banner:before {
			content: '';
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 50%;
			pointer-events: none;
			background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.325), rgba(0, 0, 0, 0));
			z-index: 2;
		}

		#banner h1 {
			border-bottom: 1px solid rgba(255, 255, 255, 0.25);
			color: #ffffff;
			font-size: 4.75rem;
			margin: 0 auto;
			padding-bottom: 3rem;
			position: relative;
			text-align-last: justify;
			text-align: justify;
			opacity: 0.95;
		}

		#banner .inner {
			-moz-transition: opacity 1.5s ease-in-out;
			-webkit-transition: opacity 1.5s ease-in-out;
			-ms-transition: opacity 1.5s ease-in-out;
			transition: opacity 1.5s ease-in-out;
			margin: 0 auto;
			max-width: 65rem;
			opacity: 1;
			position: relative;
			width: calc(100% - 4rem);
			z-index: 3;
		}

		#banner .content {
			-moz-align-items: center;
			-webkit-align-items: center;
			-ms-align-items: center;
			align-items: center;
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			position: relative;
			text-align: justify;
			width: 100%;
		}

			#banner .content p {
				border-right: 1px solid rgba(255, 255, 255, 0.25);
				font-size: 1.5rem;
				font-weight: 400;
				min-width: 70%;
				padding: 3rem 3rem 3rem 0;
			}

			#banner .content ul {
				-moz-justify-content: -moz-flex-end;
				-webkit-justify-content: -webkit-flex-end;
				-ms-justify-content: -ms-flex-end;
				justify-content: flex-end;
			}

		#banner .bg {
			-moz-transition: opacity 2s ease-in-out;
			-webkit-transition: opacity 2s ease-in-out;
			-ms-transition: opacity 2s ease-in-out;
			transition: opacity 2s ease-in-out;
			height: 100%;
			left: 0;
			overflow: hidden;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: 1;
			opacity: 0.85;
		}

			#banner .bg div {
				-moz-transition: opacity 3s ease;
				-webkit-transition: opacity 3s ease;
				-ms-transition: opacity 3s ease;
				transition: opacity 3s ease;
				background-size: cover;
				height: 100%;
				left: 0;
				opacity: 0;
				position: absolute;
				top: 0;
				visibility: hidden;
				width: 150%;
			}

				#banner .bg div.visible {
					-moz-animation: bg 45s linear infinite;
					-webkit-animation: bg 45s linear infinite;
					-ms-animation: bg 45s linear infinite;
					animation: bg 45s linear infinite;
					opacity: 1;
					visibility: visible;
					z-index: 1;
				}

					#banner .bg div.visible.top {
						z-index: 2;
					}

					@media screen and (max-width: 1280px) {

						#banner .bg div.visible {
							-moz-animation: bg 29.25s linear infinite;
							-webkit-animation: bg 29.25s linear infinite;
							-ms-animation: bg 29.25s linear infinite;
							animation: bg 29.25s linear infinite;
						}

					}

					@media screen and (max-width: 736px) {

						#banner .bg div.visible {
							-moz-animation: bg 18s linear infinite;
							-webkit-animation: bg 18s linear infinite;
							-ms-animation: bg 18s linear infinite;
							animation: bg 18s linear infinite;
						}

					}

				#banner .bg div:only-child {
					-moz-animation-direction: alternate !important;
					-webkit-animation-direction: alternate !important;
					-ms-animation-direction: alternate !important;
					animation-direction: alternate !important;
				}

			body.is-preload #banner .bg {
				opacity: 0;
			}

	@-moz-keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@-webkit-keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@-ms-keyframes bg {
		#banner 0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		#banner 100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

	@keyframes bg {
		0% {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
		}

		100% {
			-moz-transform: translateX(-25%);
			-webkit-transform: translateX(-25%);
			-ms-transform: translateX(-25%);
			transform: translateX(-25%);
		}
	}

		@media screen and (max-width: 1680px) {

			#banner {
				padding-top: 4rem;
			}

		}

		@media screen and (max-width: 1280px) {

			#banner {
				min-height: 90vh;
				padding-top: 3rem;
			}

				#banner .inner {
					margin: 0 auto;
					max-width: 75rem;
					width: calc(100% - 8rem);
				}

				#banner h1 {
					font-size: 4rem;
					padding-bottom: 3rem;
				}

				#banner .content p {
					font-size: 1.25rem;
				}

		}

		@media screen and (max-width: 980px) {

			#banner {
				height: 95vh;
				min-height: 700px;
				padding-top: 3rem;
			}

				#banner h1 {
					font-size: 3rem;
					padding-bottom: 3rem;
					text-align-last: center;
					text-align: center;
				}

				#banner .content p {
					font-size: 1.25rem;
				}

				#banner .content {
					-moz-flex-wrap: wrap;
					-webkit-flex-wrap: wrap;
					-ms-flex-wrap: wrap;
					flex-wrap: wrap;
					width: 100%;
				}

					#banner .content p {
						border-right: none;
						font-size: 1.25rem;
						min-width: 100%;
						padding: 3rem 0 0 0;
						text-align: center;
					}

					#banner .content ul {
						-moz-justify-content: center;
						-webkit-justify-content: center;
						-ms-justify-content: center;
						justify-content: center;
					}

		}

		@media screen and (max-width: 736px) {

			#banner {
				min-height: 600px;
			}

				#banner h1 {
					font-size: 2.5rem;
					padding-bottom: 2rem;
				}

				#banner .inner {
					width: calc(100% - 6rem);
				}

				#banner .content p {
					padding-top: 2rem;
				}

		}

		@media screen and (max-width: 480px) {

			#banner {
				min-height: 650px;
				padding-top: 4rem;
			}

				#banner .inner {
					width: calc(100% - 4rem);
				}

				#banner h1 {
					padding-bottom: 2rem;
					text-align-last: center;
					text-align: center;
				}

				#banner .content {
					-moz-flex-wrap: wrap;
					-webkit-flex-wrap: wrap;
					-ms-flex-wrap: wrap;
					flex-wrap: wrap;
					width: 100%;
				}

					#banner .content p {
						font-size: 1.15rem;
						padding-top: 2rem;
					}

					#banner .content ul {
						-moz-justify-content: center;
						-webkit-justify-content: center;
						-ms-justify-content: center;
						justify-content: center;
					}

		}

		body.is-preload #banner .inner {
			opacity: 0;
		}

/* Main */

	#main {
		padding-top: 8rem !important;
	}

		@media screen and (max-width: 1680px) {

			#main {
				padding-top: 6rem !important;
			}

		}

		@media screen and (max-width: 980px) {

			#main {
				padding-top: 4rem !important;
			}

		}

/* Footer */

	.copyright {
		color: rgba(40, 40, 40, 0.5);
		text-align: center;
	}
/* 2 INSPIRE: Anpassungen */

	#banner h1 {
		text-align: left;
		text-align-last: left;
		hyphens: auto;
		overflow-wrap: break-word;
	}

	@media screen and (max-width: 980px) {
		#banner h1 {
			text-align: center;
			text-align-last: center;
		}
	}

	/* Header: Logo rechts, Menü links */
	#header { flex-direction: row-reverse; }
	#header > .logo { text-align: right; padding-left: 0; padding-right: 2rem; }
	#header > .logo a { display: inline-block; line-height: 0; vertical-align: middle; }
	#header > .logo img { display: block; height: 2.25rem; width: auto; }
	#header > a[href="#menu"] { border-left: none; border-right: 1px solid rgba(99,116,133,0.25); margin-left: 0; margin-right: 0.5rem; }

	/* Banner: Logo statt Textüberschrift */
	#banner h1 img { display: block; margin: 0 auto; width: 100%; max-width: 34rem; height: auto; }

	/* Footer (dunkel, Aufbau wie auf der bisherigen Seite) */
	#site-footer { background: #000; color: #fff; padding: 3rem 4rem 2rem; display: flex; flex-direction: column; gap: 1.5rem; }
	#site-footer .footer-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2rem; }
	#site-footer .footer-brand { display: flex; align-items: center; gap: 2rem; }
	#site-footer .footer-brand a { border-bottom: none; display: block; line-height: 0; }
	#site-footer .footer-brand img { display: block; height: 60px; width: auto; border-radius: 3px; transition: opacity 0.2s ease-in-out; }
	#site-footer .footer-brand a:hover img { opacity: 0.7; }
	#site-footer .footer-link-columns { display: flex; gap: 3rem; }
	#site-footer .footer-link-columns ul { display: flex; flex-direction: column; gap: 0.6rem; list-style: none; padding: 0; margin: 0; }
	#site-footer .footer-link-columns a { font-size: 0.75rem; letter-spacing: 0.1rem; text-transform: uppercase; text-decoration: none; border-bottom: none; color: rgba(255,255,255,0.35); transition: color 0.2s ease-in-out; }
	#site-footer .footer-link-columns a:hover { color: #fff; }
	#site-footer .footer-copy { font-size: 0.78rem; color: rgba(255,255,255,0.3); letter-spacing: 0.04em; text-align: center; }

	@media screen and (max-width: 980px) {
		#site-footer { padding: 2.5rem 1.5rem; }
		#site-footer .footer-top { flex-direction: column; text-align: center; }
		#site-footer .footer-brand { flex-wrap: wrap; justify-content: center; gap: 1.5rem; }
		#site-footer .footer-brand img { height: 48px; }
		#site-footer .footer-link-columns { justify-content: center; }
	}

	/* Kontakt */
	#contact header, #contact .actions { text-align: center; justify-content: center; }
	#contact header p { margin-left: auto; margin-right: auto; max-width: 46rem; }

	/* Header: Menüpunkte in einer Reihe (Desktop), Menü-Button nur auf kleinen Bildschirmen */
	#header .header-links { display: flex; align-items: center; gap: 2rem; padding-left: 2rem; height: 100%; }
	#header .header-links a { color: inherit; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; text-decoration: none; border-bottom: none; white-space: nowrap; transition: opacity 0.2s ease-in-out; }
	#header .header-links a:hover { opacity: 0.6; }
	#header > .logo .logo-black { display: none; }
	#header:not(.alt) > .logo .logo-white { display: none; }
	#header:not(.alt) > .logo .logo-black { display: block; }

	@media screen and (min-width: 981px) {
		#header > a[href="#menu"] { display: none; }
	}
	@media screen and (max-width: 980px) {
		#header .header-links { display: none; }
	}

	/* Header: Untermenü "Services" */
	#header .header-links .has-sub { position: relative; height: 100%; display: flex; align-items: center; }
	#header .header-links .sub { display: none; position: absolute; top: 100%; left: -1.25rem; min-width: 17rem; margin: 0; padding: 0.5rem 0; list-style: none; background: rgba(0,0,0,0.92); }
	#header .header-links .has-sub:hover .sub,
	#header .header-links .has-sub:focus-within .sub { display: block; }
	#header .header-links .sub li { padding: 0; }
	#header .header-links .sub a { display: block; padding: 0.85rem 1.25rem; line-height: 1.3; color: #fff; }

	/* Hero: Button mittig zwischen Trennlinie und rechtem Rand */
	@media screen and (min-width: 981px) {
		#banner .content p { min-width: 58%; }
		#banner .content ul { flex: 1; justify-content: center; margin: 0; padding: 0 2rem; }
	}

	/* Overlay-Menü: Unterpunkte von "Services" */
	#menu .links .sub-links { list-style: none; margin: 0 auto 0.75rem auto; padding: 0 0 0 1.25rem; width: fit-content; border-left: 1px solid rgba(255,255,255,0.3); text-align: left; }
	#menu .links .sub-links li { padding: 0; }
	#menu .links .sub-links a { font-size: 0.8rem; letter-spacing: 0.15rem; line-height: 1.4rem; padding: 0.55rem 0.75rem; opacity: 0.7; }
	#menu .links .sub-links a:hover { opacity: 1; }

	/* Header-Untermenü: Icon vor Team-Radar */
	#header .header-links .sub a.radar-link:before { content: '\f140'; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-right: 0.75rem; width: 1rem; text-align: center; }

	/* Übersichtsseiten (Services, Unternehmen) */
	.overview-links { flex-wrap: wrap; gap: 1.25rem 1.5rem; margin-top: 1rem; }
	.overview-links li { padding: 0; }

	/* Services: drei große Kacheln (Bild später über --tile-img bzw. background-image ergänzen) */
	.service-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
	.service-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 32rem; padding: 2.25rem; overflow: hidden; border-bottom: none; border-radius: 10px; color: #fff; text-decoration: none; background-color: #1b1b1b; background-image: linear-gradient(160deg, #3a3a3a 0%, #111 100%); background-size: cover; background-position: center; isolation: isolate; }
	.service-tile:before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.75) 100%); transition: background 0.3s ease-in-out; }
	.service-tile:hover:before { background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.85) 100%); }
	.service-tile .tile-number { font-family: 'Oswald', Helvetica, sans-serif; font-size: 3.5rem; line-height: 1; opacity: 0.9; }
	.service-tile .tile-text h2 { color: #fff; margin-bottom: 1rem; }
	.service-tile .tile-text p { color: rgba(255,255,255,0.85); font-size: 1rem; line-height: 1.7; margin-bottom: 1.5rem; }
	.service-tile .tile-more { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,0.6); padding-bottom: 0.25rem; }

	@media screen and (max-width: 980px) {
		.service-tiles { grid-template-columns: 1fr; }
		.service-tile { min-height: 22rem; }
	}

	/* Zurück-Link auf Unterseiten */
	.back-link { display: inline-block; margin-bottom: 1.5rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; text-decoration: none; border-bottom: none; color: inherit; opacity: 0.65; transition: opacity 0.2s ease-in-out; }
	.back-link:hover { opacity: 1; }

	/* Agile Development: Inhaltsabschnitte */
	html { scroll-behavior: smooth; }
	.agile-section { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid rgba(99,116,133,0.25); scroll-margin-top: 6rem; }
	.agile-section h2 { margin-bottom: 1.5rem; }
	.sub-block { margin-top: 2.5rem; }
	.sub-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; opacity: 0.6; margin-bottom: 0.25rem; }
	.agile-section .box { height: 100%; }
	.agile-section .box h4 { margin-bottom: 0.5rem; }
	ol.sources { padding-left: 1.5rem; }
	ol.sources li { margin-bottom: 0.5rem; scroll-margin-top: 6rem; }
	sup a { text-decoration: none; border-bottom: none; }

	/* Menüs: dunkel, transparent (Glas-Effekt) */
	#menu .inner,
	#header .header-links .sub { background: rgba(45,45,45,0.55); border: 1px solid rgba(255,255,255,0.14); -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); }

	/* Hero-Button: beim Darüberfahren dieselbe Glas-Transparenz wie die Menüs */
	#banner .button { transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out; }
	#banner .button:hover,
	#banner .button:focus { background: rgba(45,45,45,0.55); border-color: #fff; color: #fff; -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); }

	/* Unterseiten (heller Hintergrund): Menüs hell und transparent */
	body:not(.is-home) #menu .inner,
	body:not(.is-home) #header .header-links .sub { background: rgba(255,255,255,0.62); border: 1px solid rgba(0,0,0,0.1); color: #111; -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); }
	body:not(.is-home) #header .header-links .sub a { color: #111; }
	body:not(.is-home) #menu h2 { border-bottom-color: rgba(0,0,0,0.2); }
	body:not(.is-home) #menu .close { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: %23000000%3Bstroke-width: 1.5px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E"); }
	body:not(.is-home) #menu .links li a:hover { background-color: #000; color: #fff; }
	body:not(.is-home) #menu .links .sub-links { border-left-color: rgba(0,0,0,0.3); }

	/* Overlay-Menü: Schleier dahinter fast durchsichtig, damit die Glas-Wirkung wie beim Aufklapp-Menü ist */
	body.is-home #menu { background-color: rgba(0,0,0,0.3); }
	body:not(.is-home) #menu { background-color: rgba(255,255,255,0.35); }

	/* Mouseover wie im Tablet-Menü: ganze Zeile wird invertiert (Web-Ansicht) */
	#header .header-links { gap: 0; padding-left: 0.9rem; }
	#header .header-links > a,
	#header .header-links .has-sub > a { display: flex; align-items: center; height: 100%; padding: 0 1.1rem; opacity: 1; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; }
	#header .header-links .sub { left: 0; }
	#header .header-links > a:hover,
	#header .header-links .has-sub:hover > a,
	#header .header-links .sub a:hover { background-color: #fff; color: #000; opacity: 1; }
	body:not(.is-home) #header .header-links > a:hover,
	body:not(.is-home) #header .header-links .has-sub:hover > a,
	body:not(.is-home) #header .header-links .sub a:hover { background-color: #000; color: #fff; }

/* Web-Menü: Schrift, Strichstärke, Abstand und Linie wie im Tablet-Menü */
#header .header-links > a,
#header .header-links .has-sub > a { font-size: 1rem; font-weight: 300; letter-spacing: 0.25rem; }
#header .header-links .sub { position: absolute; padding: 0.5rem 0; min-width: 19rem; }
#header .header-links .sub:before { content: ''; position: absolute; left: 1.25rem; top: 0.9rem; bottom: 0.9rem; border-left: 1px solid rgba(255,255,255,0.3); z-index: 1; pointer-events: none; }
body:not(.is-home) #header .header-links .sub:before { border-left-color: rgba(0,0,0,0.3); }
#header .header-links .sub a { font-size: 0.8rem; font-weight: 300; letter-spacing: 0.15rem; padding: 0.7rem 1.25rem 0.7rem 2.25rem; opacity: 0.7; }
#header .header-links .sub a:hover { opacity: 1; }

/* Mouseover transparent: Hauptpunkte weiß-transparent, Dropdown dunkel-transparent */
#header .header-links > a:hover,
#header .header-links .has-sub:hover > a { background-color: rgba(255,255,255,0.75); color: #000; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
#header .header-links .sub a:hover { background-color: rgba(0,0,0,0.5); color: #fff; }
body:not(.is-home) #header .header-links > a:hover,
body:not(.is-home) #header .header-links .has-sub:hover > a { background-color: rgba(0,0,0,0.75); color: #fff; }
body:not(.is-home) #header .header-links .sub a:hover { background-color: rgba(0,0,0,0.75); color: #fff; }

/* Startseite: Dropdown-Mouseover mit gleicher weiß-transparenter Fläche wie oben */
body.is-home #header .header-links .sub a:hover { background-color: rgba(255,255,255,0.75); color: #000; }

/* Mouseover: Transparenz erhöht */
#header .header-links > a:hover,
#header .header-links .has-sub:hover > a { background-color: rgba(255,255,255,0.45); }
body.is-home #header .header-links .sub a:hover { background-color: rgba(255,255,255,0.45); }
body:not(.is-home) #header .header-links > a:hover,
body:not(.is-home) #header .header-links .has-sub:hover > a,
body:not(.is-home) #header .header-links .sub a:hover { background-color: rgba(0,0,0,0.5); }

/* Team-Radar (Umfrage) */
#radar { max-width: none; width: 100%; margin: 2rem 0 0 0; }
#radar .progress-wrap { margin-bottom: 2.5rem; }
#radar .progress-track { height: 3px; background: rgba(0,0,0,0.12); border-radius: 3px; overflow: hidden; }
#radar .progress-fill { height: 100%; background: #000; width: 0%; transition: width 0.4s ease; }
#radar .progress-label { font-size: 0.75rem; letter-spacing: 0.15rem; text-transform: uppercase; opacity: 0.6; margin-top: 0.75rem; text-align: left; }
#radar .survey-card { text-align: center; }
#radar .intro-card { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; padding: 2.5rem 2rem; }
#radar .question-eyebrow { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2rem; text-transform: uppercase; opacity: 0.6; margin-bottom: 1rem; }
#radar .question-text { font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 300; line-height: 1.4; margin-bottom: 2rem; }
#radar .question-text.has-help { margin-bottom: 0.75rem; }
#radar .question-help { font-size: 0.9rem; opacity: 0.7; margin-bottom: 2rem; }
#radar .intro-text { font-size: 0.95rem; line-height: 1.75; margin-bottom: 1.25rem; }
#radar .intro-meta { font-size: 0.75rem; letter-spacing: 0.1rem; text-transform: uppercase; opacity: 0.6; margin-bottom: 1.5rem; }
#radar .intro-privacy { font-size: 0.8rem; opacity: 0.7; margin-bottom: 2rem; }
#radar .intro-privacy a { text-decoration: underline; border-bottom: none; }
#radar .options-list { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 2rem; }
#radar .option-btn { font-family: inherit; font-size: 0.95rem; color: inherit; background: #fff; border: 1px solid rgba(0,0,0,0.2); padding: 1rem 1.5rem; border-radius: 8px; cursor: pointer; text-align: left; line-height: 1.5; height: auto; letter-spacing: normal; text-transform: none; box-shadow: none; transition: background 0.2s ease, color 0.2s ease; }
#radar .option-btn:hover { background: rgba(0,0,0,0.06); }
#radar .option-btn.selected { background: #000; border-color: #000; color: #fff; }
#radar .scale-row { display: flex; justify-content: center; gap: 0.75rem; margin-bottom: 0.75rem; }
#radar .scale-btn { width: 52px; height: 52px; min-width: 0; padding: 0; line-height: 1; border-radius: 50%; border: 1px solid rgba(0,0,0,0.2); background: #fff; font-family: inherit; font-size: 1.1rem; color: inherit; letter-spacing: normal; cursor: pointer; box-shadow: none; transition: all 0.2s ease; }
#radar .scale-btn:hover { background: rgba(0,0,0,0.06); }
#radar .scale-btn.selected { background: #000; border-color: #000; color: #fff; }
#radar .scale-labels { display: flex; justify-content: space-between; max-width: 340px; margin: 0 auto 2rem; font-size: 0.75rem; opacity: 0.7; }
#radar .text-input { width: 100%; font-family: inherit; font-size: 1rem; background: #fff; border: 1px solid rgba(0,0,0,0.2); border-radius: 8px; padding: 1rem 1.25rem; margin-bottom: 2rem; resize: vertical; min-height: 100px; }
#radar .survey-nav { display: flex; justify-content: space-between; align-items: center; }
#radar .btn-primary { font-family: inherit; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; color: #fff; background: #000; padding: 0 2rem; height: 3rem; line-height: 3rem; border: none; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; transition: background 0.2s ease; }
#radar .btn-primary:hover { background: #333; }
#radar .btn-primary:disabled { background: rgba(0,0,0,0.15); cursor: not-allowed; }
#radar .btn-text { font-family: inherit; font-size: 0.8rem; letter-spacing: 0.1rem; text-transform: uppercase; color: inherit; background: none; border: none; box-shadow: none; padding: 0; height: auto; line-height: 1.5; cursor: pointer; opacity: 0.7; }
#radar .btn-text:hover { opacity: 1; }
#radar .btn-text:disabled { opacity: 0.25; cursor: not-allowed; }
#radar .results-title { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 300; margin-bottom: 1rem; }
#radar .results-score { font-size: 1.1rem; font-weight: 700; margin-bottom: 1.5rem; }
#radar .results-desc { line-height: 1.8; margin-bottom: 2rem; }
#radar .radar-id-box { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; padding: 1.25rem 1.5rem; margin-bottom: 2rem; font-size: 0.85rem; }
#radar .radar-id-box strong { display: block; font-size: 1.1rem; letter-spacing: 0.08rem; margin-bottom: 0.3rem; }
#radar .info-message { text-align: center; opacity: 0.8; line-height: 1.8; }
#radar .debug-message { text-align: left; color: #a94442; font-size: 0.8rem; background: #fdf3f2; padding: 1rem; border-radius: 8px; margin-top: 1rem; word-break: break-word; }
#radar button.btn-primary, #radar a.btn-primary, #radar .scale-btn.selected, #radar .option-btn.selected { color: #fff !important; }
#radar button.btn-primary:disabled { color: rgba(255,255,255,0.7) !important; }
#radar .btn-text { font-weight: 700; }

/* Rechtstexte (Impressum, Datenschutz, AGB) */
#legal { max-width: 800px; margin: 2rem 0 0 0; }
#legal .imp-card { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; padding: 1.5rem 1.75rem; margin-bottom: 2.5rem; }
#legal .imp-card p { margin: 0; line-height: 1.85; }
#legal .imp-block { margin-bottom: 2.25rem; }
#legal .imp-heading { font-size: 0.95rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; margin-bottom: 0.75rem; }
#legal .imp-subheading { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.1rem; text-transform: uppercase; margin: 1.25rem 0 0.5rem 0; }
#legal .imp-text { font-size: 0.95rem; line-height: 1.85; margin-bottom: 1rem; }
#legal .imp-text a { text-decoration: underline; border-bottom: none; }
#legal .page-meta { font-size: 0.85rem; opacity: 0.7; margin-bottom: 1.5rem; }
#legal .page-notice { font-size: 0.9rem; line-height: 1.7; background: rgba(0,0,0,0.05); border-left: 3px solid #000; padding: 1rem 1.25rem; margin-bottom: 2.5rem; }
#legal .print-btn { font-family: inherit; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1rem; text-transform: uppercase; color: inherit; background: none; border: 1px solid rgba(0,0,0,0.3); border-radius: 4px; padding: 0 1.25rem; height: 2.75rem; line-height: 2.75rem; cursor: pointer; margin-bottom: 1.5rem; box-shadow: none; }
#legal .print-btn:hover { background: #000; color: #fff; }
@media print { #header, #menu, #site-footer, #legal .print-btn { display: none !important; } }

/* Footer: schräge Kante oben wie beim Hero */
#site-footer { position: relative; }
#site-footer:before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 6rem; transform: translateY(-100%) scale(-1, 1); background-repeat: no-repeat; background-size: 100% 100%; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 0,100 100,100' style='fill:%23000000%3B' /%3E%3C/svg%3E"); pointer-events: none; }
@media screen and (max-width: 1280px) { #site-footer:before { height: 4rem; } }
@media screen and (max-width: 980px) { #site-footer:before { height: 3rem; } }
@media screen and (max-width: 736px) { #site-footer:before { height: 2rem; } }

/* CoP-Seite */
#cop { max-width: 800px; margin-top: 2rem; }
#cop .cop-hero-note { font-size: 1.05rem; line-height: 1.85; max-width: 640px; }
#cop .cop-event { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 10px; padding: 2.25rem 2.5rem; margin: 2.5rem 0; }
#cop .cop-event-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2rem; text-transform: uppercase; opacity: 0.6; margin-bottom: 0.75rem; }
#cop .cop-event-title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; letter-spacing: 0.1rem; text-transform: uppercase; line-height: 1.3; margin-bottom: 0.5rem; }
#cop .cop-event-when { font-size: 1.05rem; margin-bottom: 1.25rem; }
#cop .cop-event-desc { line-height: 1.85; white-space: pre-wrap; margin-bottom: 1.5rem; }
#cop .cop-btn { display: inline-block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; color: #fff; background: #000; padding: 0 2rem; height: 3rem; line-height: 3rem; border-radius: 4px; border-bottom: none; transition: background 0.2s ease; }
#cop .cop-btn:hover { background: #333; }
#cop .cop-countdown { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 300; line-height: 1.2; margin-top: 0.25rem; font-variant-numeric: tabular-nums; letter-spacing: 0.1rem; }
#cop .cop-hint { font-size: 0.85rem; opacity: 0.7; }
#cop .imp-text a, #cop .cop-event-desc a, #cop .cop-hint a { text-decoration: underline; border-bottom: none; }
@media screen and (max-width: 600px) { #cop .cop-event { padding: 1.5rem; } }

/* Downloads-Seite */
#downloads .downloads-intro { font-size: 1.05rem; max-width: 640px; margin-bottom: 3rem; }
#downloads h2 { margin-top: 3rem; margin-bottom: 0.5rem; }
#downloads .download-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2rem 0 1rem 0; }
#downloads .download-card { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 10px; padding: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; }
#downloads .download-cover { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; margin-bottom: 1.25rem; background: #eee; }
#downloads .download-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
#downloads .download-tag { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15rem; border: 1px solid rgba(0,0,0,0.3); border-radius: 3px; padding: 0.15rem 0.5rem; margin-bottom: 0.75rem; }
#downloads .download-card h3 { margin-bottom: 0.25rem; }
#downloads .download-card h4 { font-size: 0.8rem; letter-spacing: 0.1rem; text-transform: uppercase; opacity: 0.7; margin-bottom: 0.75rem; }
#downloads .download-card p { font-size: 0.95rem; line-height: 1.7; flex: 1; }
#downloads .download-count { font-size: 0.75rem; opacity: 0.6; margin-top: 0.75rem; height: 1.35rem; line-height: 1.35rem; min-height: 0; }
@media screen and (max-width: 980px) { #downloads .download-grid { grid-template-columns: 1fr 1fr; } }
@media screen and (max-width: 640px) { #downloads .download-grid { grid-template-columns: 1fr; } }

/* Interner Bereich (admin.php) */
#intern { max-width: 640px; margin-top: 2rem; }
#intern input[type="password"] { width: 100%; margin-bottom: 1rem; }
#intern .button { width: 100%; }
#intern .login-error { background: #fdf3f2; border: 1px solid #f0d6d4; color: #a94442; padding: 1rem 1.25rem; margin-top: 1rem; border-radius: 4px; font-size: 0.9rem; }
#intern .hub-link-card { display: flex; align-items: center; gap: 1.25rem; background: #fff; border: 1px solid rgba(0,0,0,0.12); border-radius: 8px; padding: 1.5rem 1.75rem; color: inherit; margin-bottom: 1rem; border-bottom: 1px solid rgba(0,0,0,0.12); transition: border-color 0.2s ease, transform 0.2s ease; }
#intern .hub-link-card:hover { border-color: #000; transform: translateX(4px); }
#intern .hub-link-icon { font-size: 1.8rem; width: 2.5rem; flex-shrink: 0; text-align: center; }
#intern .hub-link-text strong { display: block; font-size: 1rem; letter-spacing: 0.05rem; margin-bottom: 0.2rem; }
#intern .hub-link-text span { font-size: 0.85rem; opacity: 0.7; }
#intern .hub-link-arrow { margin-left: auto; opacity: 0.6; font-size: 1.2rem; flex-shrink: 0; }

/* "CoP" bleibt in Mischschreibung, auch in Großbuchstaben-Texten */
.keep-case { text-transform: none; }

/* Icon vor CoP im Web-Dropdown */
#header .header-links .sub a.cop-link:before { content: '\f0c0'; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-right: 0.75rem; width: 1rem; text-align: center; }
#header .header-links .sub a.downloads-link:before { content: '\f019'; font-family: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; margin-right: 0.75rem; width: 1rem; text-align: center; }

/* "2 INSPIRE" im Fließtext: engerer Abstand, nie getrennt */
.brand-name { white-space: nowrap; }

/* Hero: Button beginnt auf Höhe des Textanfangs (Desktop) */
@media screen and (min-width: 981px) {
	#banner .content { align-items: flex-start; }
	#banner .content ul.actions { align-self: flex-start; margin-top: 3.4rem; }
}

/* Hero-Logo größer */
#banner h1 img { max-width: 44rem; }

/* Team-Radar-Kachel im Hero (gleicher Stil wie die Service-Kacheln) */
#banner .content .actions li { padding: 0; width: 100%; }
#banner .content .radar-tile { min-height: 0; aspect-ratio: 1 / 1; width: 100%; max-width: 22rem; margin: 0 auto; padding: 1.75rem; justify-content: flex-end; background-position: center 62%; border: 1px solid rgba(255,255,255,0.7); }
#banner .content .radar-tile .tile-text h2 { font-size: 1.5rem; margin-bottom: 0.9rem; }
#banner .content .radar-tile .tile-more { margin-bottom: 0; }
#banner .content .radar-tile:hover { border-color: #fff; }
@media screen and (min-width: 981px) {
	#banner .content ul.actions { flex: 0 0 26rem; width: 26rem; max-width: 26rem; padding: 0 2rem; box-sizing: border-box; }
	#banner .content p { flex: 1 1 auto; min-width: 0; }
	#banner .content ul.actions { align-self: flex-start; margin-top: 3.4rem; }
}
@media screen and (max-width: 980px) { #banner .content .radar-tile { max-width: 20rem; } }
@media screen and (min-width: 981px) { #banner .content .radar-tile { max-width: 19rem; margin-left: 0; } #banner .content ul.actions { margin-top: 3.1rem; } }

/* Icon auf der Team-Radar-Kachel (gleiches Symbol wie im Menü) */
#banner .content .radar-tile { justify-content: space-between; }
#banner .content .radar-icon:before { content: '\f140'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 2.5rem; line-height: 1; color: #fff; opacity: 0.9; }

/* Radar-Kachel: Icon mittig + größer, Foto durchsichtiger */
#banner .content .radar-tile .radar-icon { margin: auto; }
#banner .content .radar-icon:before { font-size: 5rem; opacity: 0.95; text-shadow: 0 2px 14px rgba(0,0,0,0.45); }
#banner .content .radar-tile:before { background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.5) 100%); }
#banner .content .radar-tile:hover:before { background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.6) 100%); }
#banner .content .radar-tile .tile-text h2, #banner .content .radar-tile .tile-more { text-shadow: 0 1px 10px rgba(0,0,0,0.5); }

/* Radar-Kachel ohne Foto: Glas-Fläche, etwa so groß wie der Textblock */
#banner .content .radar-tile { background-image: none; background-color: rgba(45,45,45,0.4); -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); border: 1px solid rgba(255,255,255,0.55); transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out; }
#banner .content .radar-tile:before, #banner .content .radar-tile:hover:before { background: none; }
#banner .content .radar-tile:hover { background-color: rgba(45,45,45,0.55); border-color: #fff; }
@media screen and (min-width: 981px) { #banner .content .radar-tile { max-width: 21rem; } }

/* Radar-Kachel: etwas kleiner, quadratisch */
@media screen and (min-width: 981px) { #banner .content .radar-tile { max-width: 17rem; } #banner .content .radar-tile { padding: 1.5rem; } }
@media screen and (max-width: 980px) { #banner .content .radar-tile { max-width: 17rem; aspect-ratio: 1 / 1; min-height: 0; } }
#banner .content .radar-icon:before { font-size: 4rem; }
#banner .content .radar-tile .tile-text h2 { font-size: 1.3rem; }

/* Radar-Icon: gezeichnet, mit rotierendem Strahl */
#banner .content .radar-tile .radar-icon { position: relative; width: 4.75rem; height: 4.75rem; border-radius: 50%; border: 2px solid rgba(255,255,255,0.95); margin: auto; box-sizing: border-box; box-shadow: 0 2px 14px rgba(0,0,0,0.35);
	background: radial-gradient(circle, rgba(255,255,255,0.95) 0 5%, transparent 5.5% 30%, rgba(255,255,255,0.5) 30.5% 32.5%, transparent 33% 62%, rgba(255,255,255,0.5) 62.5% 64.5%, transparent 65%); }
#banner .content .radar-tile .radar-icon:before { content: ''; font-family: inherit; font-size: 0; text-shadow: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; opacity: 1;
	background: conic-gradient(from 0deg, rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 240deg, rgba(255,255,255,0.75) 360deg); animation: radar-spin 3.2s linear infinite; }
@keyframes radar-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #banner .content .radar-tile .radar-icon:before { animation: none; } }

/* Radar-Icon im Menü (Dropdown): kleiner, drehender Radar statt Zielkreuz */
#header .header-links .sub a.radar-link:before { content: ''; font-family: inherit; font-weight: 400; display: inline-block; vertical-align: -0.15em; width: 1.1rem; height: 1.1rem; margin-right: 0.75rem; border: 1.5px solid currentColor; border-radius: 50%; box-sizing: border-box; text-align: left;
	background: radial-gradient(circle, currentColor 0 11%, transparent 13% 52%, currentColor 54% 62%, transparent 64%), conic-gradient(from 0deg, transparent 0deg, transparent 230deg, currentColor 360deg);
	animation: radar-spin 3.2s linear infinite; }
@media (prefers-reduced-motion: reduce) { #header .header-links .sub a.radar-link:before { animation: none; } }
#header .header-links .sub a.radar-link:before { vertical-align: -0.32em; margin-right: 0.7rem; }

/* Radar-Kachel: Texte mittig */
#banner .content .radar-tile { align-items: center; text-align: center; }
#banner .content .radar-tile .tile-text { width: 100%; text-align: center; }
#banner .content .radar-tile .tile-text h2 { text-align: center; }
#banner .content .radar-tile .tile-more { display: inline-block; }

/* Radar-Kachel auf der Agile-Development-Seite (rechts neben dem Text) */
.radar-row { display: grid; grid-template-columns: 1fr 17rem; gap: 3rem; align-items: start; }
.radar-text p:last-child { margin-bottom: 0; }
.radar-cta { position: sticky; top: 7rem; }
.radar-cta .radar-tile { min-height: 0; aspect-ratio: 1 / 1; width: 100%; max-width: 17rem; padding: 1.5rem; justify-content: space-between; align-items: center; text-align: center; background-image: none; background-color: rgba(30,30,30,0.86); -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); border: 1px solid rgba(255,255,255,0.35); transition: background-color 0.3s ease-in-out; }
.radar-cta .radar-tile:before, .radar-cta .radar-tile:hover:before { background: none; }
.radar-cta .radar-tile:hover { background-color: rgba(0,0,0,0.95); }
.radar-cta .radar-tile .tile-text { width: 100%; text-align: center; }
.radar-cta .radar-tile .tile-text h2 { font-size: 1.3rem; margin-bottom: 0.9rem; text-align: center; color: #fff; }
.radar-cta .radar-tile .tile-more { display: inline-block; margin-bottom: 0; }
.radar-cta .radar-tile .radar-icon { position: relative; width: 4.75rem; height: 4.75rem; border-radius: 50%; border: 2px solid rgba(255,255,255,0.95); margin: auto; box-sizing: border-box; box-shadow: 0 2px 14px rgba(0,0,0,0.35);
	background: radial-gradient(circle, rgba(255,255,255,0.95) 0 5%, transparent 5.5% 30%, rgba(255,255,255,0.5) 30.5% 32.5%, transparent 33% 62%, rgba(255,255,255,0.5) 62.5% 64.5%, transparent 65%); }
.radar-cta .radar-tile .radar-icon:before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(255,255,255,0) 0deg, rgba(255,255,255,0) 240deg, rgba(255,255,255,0.75) 360deg); animation: radar-spin 3.2s linear infinite; }
@media (prefers-reduced-motion: reduce) { .radar-cta .radar-tile .radar-icon:before { animation: none; } }
@media screen and (max-width: 980px) { .radar-row { grid-template-columns: 1fr; gap: 2rem; } .radar-cta { position: static; } .radar-cta .radar-tile { margin: 0 auto; } }

/* Nach-oben-Button (mitlaufend) */
.to-top { position: fixed; right: 1.75rem; bottom: 1.75rem; z-index: 9000; width: 3.5rem; height: 3.5rem; border-radius: 50%; border-bottom: none; background: rgba(0,0,0,0.78); color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease, background-color 0.2s ease; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 4px 18px rgba(0,0,0,0.25); }
.to-top:before { content: '\f077'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 1.1rem; line-height: 1; }
.to-top.visible { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { background: #000; color: #fff; }
@media screen and (max-width: 736px) { .to-top { right: 1rem; bottom: 1rem; width: 3rem; height: 3rem; } }
@media print { .to-top { display: none !important; } }

/* Agile Development: Tabs (ein Thema pro Tab) */
.js-tabs .agile-section.tab-panel { display: none; }
.js-tabs .agile-section.tab-panel.is-active { display: block; animation: tab-in 0.35s ease; }
.js-tabs .agile-section.tab-panel { margin-top: 2.5rem; padding-top: 0; border-top: none; }
@keyframes tab-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.js-tabs .overview-links { padding-bottom: 1.25rem; border-bottom: 1px solid rgba(0,0,0,0.15); margin-bottom: 0; }
.js-tabs .overview-links .button.is-active { background-color: #000; border-color: #000; color: #fff; }
.js-tabs .agile-section#quellen { margin-top: 5rem; }
@media (prefers-reduced-motion: reduce) { .js-tabs .agile-section.tab-panel.is-active { animation: none; } }
.js-tabs .overview-links .button.is-active,
.js-tabs .overview-links .button.is-active:hover { background-color: #000 !important; border-color: #000 !important; color: #fff !important; box-shadow: none !important; }

/* Agile Development: Themen-Banner mit Bild und Titel */
.topic-banner { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 18rem; padding: 2rem 2.25rem; margin: 0 0 2.5rem 0; overflow: hidden; border-radius: 10px; color: #fff; background-color: #1b1b1b; background-size: cover; background-position: center; isolation: isolate; }
.topic-banner:before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.75) 100%); }
.topic-banner .topic-number { font-family: 'Oswald', Helvetica, sans-serif; font-size: 3rem; line-height: 1; opacity: 0.9; }
.topic-banner .topic-title { margin: 0; color: #fff; font-size: 1.9rem; font-weight: 700; letter-spacing: 0.25rem; text-transform: uppercase; line-height: 1.3; }
@media screen and (max-width: 736px) {
	.topic-banner { min-height: 12rem; padding: 1.5rem; }
	.topic-banner .topic-title { font-size: 1.25rem; letter-spacing: 0.15rem; }
}
#section-faq .box { height: auto; }
#section-faq .box h3 { margin-bottom: 0.75rem; }
#section-faq .box { transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }
#section-faq .box:hover { background-color: #1b1b1b; border-color: #1b1b1b; color: #fff; }
#section-faq .box:hover h3, #section-faq .box:hover blockquote { color: #fff; }
#section-faq .box:hover blockquote { border-left-color: rgba(255,255,255,0.35); }
#section-faq .box { transition: background-color 0.7s ease, border-color 0.7s ease, color 0.7s ease; }
#section-faq .box:hover { background-color: #4a4a4a; border-color: #4a4a4a; }
#section-faq .box:hover { background-color: #6b6b6b; border-color: #6b6b6b; }
#section-faq .box:hover { background-color: #8c8c8c; border-color: #8c8c8c; }
/* FAQ-Boxen: Hover wie bei den Buttons (heller Farbton, dunkle Schrift, dunkler Rand) */
#section-faq .box:hover { background-color: rgba(99, 116, 133, 0.12); border-color: #000; color: inherit; }
#section-faq .box:hover h3, #section-faq .box:hover blockquote { color: #000; }
#section-faq .box:hover blockquote { border-left-color: rgba(0, 0, 0, 0.25); }
/* FAQ-Fragen: kompaktere Überschrift */
#section-faq .box h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: 0.02rem; text-transform: none; line-height: 1.4; }
/* Kontakt-Buttons (E-Mail + Geschäftsstelle) */
@media screen and (max-width: 736px) {
	ul.actions.special .button.large.icon { white-space: normal; height: auto; line-height: 1.6; padding: 1rem 1.5rem; text-align: center; }
}
/* Kontakt-Buttons: gleich groß, quadratisch, Icon groß oben, alles mittig */
ul.actions.special .button.large.icon { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 15rem; height: auto; aspect-ratio: 1 / 1; padding: 1.5rem; white-space: normal; text-align: center; line-height: 1.6; font-size: 0.75rem; letter-spacing: 0.15rem; }
ul.actions.special .button.large.icon:before { display: block; margin: 0 0 1.25rem 0; font-size: 3.5rem; line-height: 1; }
@media screen and (max-width: 736px) {
	ul.actions.special .button.large.icon { width: 15rem; max-width: 100%; padding: 1.5rem; }
}
ul.actions.special .button.large.icon { justify-content: flex-start; padding-top: 3.25rem; }
@media screen and (max-width: 736px) {
	ul.actions.special:has(.button.large.icon) { flex-direction: column; align-items: center; }
	ul.actions.special:has(.button.large.icon) li { width: auto; padding: 0; margin-bottom: 1rem; }
}

/* Kontakt-Kacheln im Stil der Team-Radar-Kachel */
ul.actions.special .contact-tile { min-height: 0; aspect-ratio: 1 / 1; width: 17rem; max-width: 100%; padding: 1.5rem; justify-content: space-between; align-items: center; text-align: center; background-image: none; background-color: rgba(30,30,30,0.86); -webkit-backdrop-filter: blur(16px) saturate(120%); backdrop-filter: blur(16px) saturate(120%); border: 1px solid rgba(255,255,255,0.35); transition: background-color 0.3s ease-in-out; }
ul.actions.special .contact-tile:before, ul.actions.special .contact-tile:hover:before { background: none; }
ul.actions.special .contact-tile:hover { background-color: rgba(0,0,0,0.95); }
ul.actions.special .contact-tile .tile-text { width: 100%; text-align: center; }
ul.actions.special .contact-tile .tile-text h2 { font-size: 1.3rem; margin-bottom: 0.9rem; text-align: center; color: #fff; }
ul.actions.special .contact-tile .tile-more { display: inline-block; margin-bottom: 0; text-transform: none; letter-spacing: 0.08rem; font-size: 0.8rem; }
ul.actions.special .contact-tile .contact-icon { position: relative; width: 4.75rem; height: 4.75rem; margin: auto; border-radius: 50%; border: 2px solid rgba(255,255,255,0.95); box-sizing: border-box; box-shadow: 0 2px 14px rgba(0,0,0,0.35); display: flex; align-items: center; justify-content: center; }
ul.actions.special .contact-tile .contact-icon:before { font-family: 'Font Awesome 5 Free'; font-weight: 900; font-size: 1.9rem; line-height: 1; color: #fff; }
ul.actions.special .contact-tile .contact-mail:before { content: '\f0e0'; }
ul.actions.special .contact-tile .contact-map:before { content: '\f3c5'; }
ul.actions.special:has(.contact-tile) { gap: 1.5rem; justify-content: center; }
ul.actions.special .contact-tile .tile-text h2 { font-size: 1.05rem; letter-spacing: 0.12rem; }
@media screen and (max-width: 736px) {
	ul.actions.special:has(.contact-tile) { flex-direction: column; align-items: center; }
	ul.actions.special:has(.contact-tile) li { width: auto; padding: 0; margin: 0; }
}

/* Kontakt-Kacheln: animierte Icons */
ul.actions.special .contact-tile .contact-icon:after { content: ''; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.7); opacity: 0; animation: contact-ring 2.8s ease-out infinite; pointer-events: none; }
ul.actions.special .contact-tile .contact-icon:before { display: inline-block; transform-origin: 50% 100%; }
ul.actions.special .contact-tile .contact-mail:before { animation: contact-mail 3.2s ease-in-out infinite; transform-origin: 50% 50%; }
ul.actions.special .contact-tile .contact-map:before { animation: contact-pin 2.4s ease-in-out infinite; }
ul.actions.special .contact-tile:hover .contact-icon:before { animation-duration: 1.2s; }
@keyframes contact-ring { 0% { transform: scale(1); opacity: 0.8; } 70%, 100% { transform: scale(1.45); opacity: 0; } }
@keyframes contact-pin { 0%, 55%, 100% { transform: translateY(0); } 15% { transform: translateY(-0.45rem); } 30% { transform: translateY(0); } 42% { transform: translateY(-0.2rem); } }
@keyframes contact-mail { 0%, 60%, 100% { transform: rotate(0) scale(1); } 68% { transform: rotate(-12deg) scale(1.1); } 76% { transform: rotate(10deg) scale(1.1); } 84% { transform: rotate(-6deg) scale(1.05); } 92% { transform: rotate(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { ul.actions.special .contact-tile .contact-icon:before, ul.actions.special .contact-tile .contact-icon:after { animation: none; } }
ul.actions.special .contact-tile.contact-static { cursor: default; }
ul.actions.special .contact-tile.contact-static:hover { background-color: rgba(30,30,30,0.86); }
/* Agile Development: mehr Abstand über neuen Unterthemen */
.agile-section .sub-block { margin-top: 5.5rem; }
@media screen and (max-width: 736px) { .agile-section .sub-block { margin-top: 3.75rem; } }

/* Fragen in den Themen-Tabs: gleiche Darstellung wie "Häufige Fragen" */
.faq-block .box { height: auto; transition: background-color 0.7s ease, border-color 0.7s ease, color 0.7s ease; }
.faq-block .box h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: 0.02rem; text-transform: none; line-height: 1.4; margin-bottom: 0.75rem; }
.faq-block .box:hover { background-color: rgba(99, 116, 133, 0.12); border-color: #000; color: inherit; }
.faq-block .box:hover h3, .faq-block .box:hover blockquote { color: #000; }
.faq-block .box:hover blockquote { border-left-color: rgba(0, 0, 0, 0.25); }

/* Service-Kacheln: Überschriften und Texte starten auf gleicher Höhe */
@media screen and (min-width: 981px) {
	.service-tiles .service-tile .tile-text h2 { min-height: 2.6em; line-height: 1.3; margin-bottom: 0.75rem; display: flex; align-items: flex-start; }
	.service-tiles .service-tile .tile-text p { min-height: 8.5rem; }
}
@media screen and (min-width: 981px) {
	.service-tiles .service-tile .tile-text h2 { align-items: flex-end; }
}

/* Kontakt-Kacheln: Phosphor-Icons (SVG) statt Font Awesome */
ul.actions.special .contact-tile .contact-icon:before { content: ''; font-family: inherit; width: 2.2rem; height: 2.2rem; background-repeat: no-repeat; background-position: center; background-size: contain; display: block; }
ul.actions.special .contact-tile .contact-mail:before { content: ''; background-image: url('../icons/envelope-white.svg'); }
ul.actions.special .contact-tile .contact-map:before { content: ''; background-image: url('../icons/map-pin-white.svg'); }

/* Menü- und Button-Icons: Phosphor (SVG) statt Font Awesome */
#header .header-links .sub a.cop-link:before,
#header .header-links .sub a.downloads-link:before { content: ''; font-family: inherit; width: 1.1rem; height: 1.1rem; vertical-align: -0.28em; margin-right: 0.7rem; background-repeat: no-repeat; background-position: center; background-size: contain; }
body:not(.is-home) #header .header-links .sub a.cop-link:before { background-image: url('../icons/users-three-black.svg'); }
body:not(.is-home) #header .header-links .sub a.downloads-link:before { background-image: url('../icons/download-simple-black.svg'); }
body.is-home #header .header-links .sub a.cop-link:before { background-image: url('../icons/users-three-white.svg'); }
body.is-home #header .header-links .sub a.downloads-link:before { background-image: url('../icons/download-simple-white.svg'); }
body:not(.is-home) #header .header-links .sub a.cop-link:hover:before { background-image: url('../icons/users-three-white.svg'); }
body:not(.is-home) #header .header-links .sub a.downloads-link:hover:before { background-image: url('../icons/download-simple-white.svg'); }
body.is-home #header .header-links .sub a.cop-link:hover:before { background-image: url('../icons/users-three-black.svg'); }
body.is-home #header .header-links .sub a.downloads-link:hover:before { background-image: url('../icons/download-simple-black.svg'); }
.to-top:before { content: ''; font-family: inherit; width: 1.5rem; height: 1.5rem; background: url('../icons/caret-up-white.svg') center / contain no-repeat; }
/* Menü-Icons CoP und Downloads etwas größer (Textbeginn bleibt wie beim Radar-Icon) */
#header .header-links .sub a.cop-link:before,
#header .header-links .sub a.downloads-link:before { width: 1.4rem; height: 1.4rem; vertical-align: -0.38em; margin: 0 0.55rem 0 -0.15rem; }

/* Hero-Text: linksbündig statt Blocksatz */
#banner .content, #banner .content p { text-align: left; }
#banner .content .radar-tile, #banner .content .radar-tile .tile-text { text-align: center; }

/* Geologica für die Kontakt-Überschrift "Lassen Sie uns sprechen." */
#contact header h2 { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 700; text-transform: none; letter-spacing: -0.01em; font-size: 3rem; line-height: 1.15; }
@media screen and (max-width: 736px) { #contact header h2 { font-size: 2.1rem; } }
/* Test: Geologica auch für den Text unter der Kontakt-Überschrift */
#contact header p { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 300; line-height: 1.7; }

/* Test: Geologica im Menü (Kopfzeile, Dropdown, Overlay-Menü) */
#header .header-links > a, #header .header-links .sub a, #menu .inner a, #menu .inner h2 { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; }
#header .header-links > a { letter-spacing: 0.2rem; }
#header .header-links .sub a { letter-spacing: 0.1rem; }
#header .header-links .has-sub > a { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; letter-spacing: 0.2rem; }
#header .header-links > a, #header .header-links .has-sub > a { font-weight: 300; }

/* Kopfzeile auf Unterseiten: leicht transparent mit Weichzeichner */
body:not(.is-home) #header { background-color: rgba(255,255,255,0.78); -webkit-backdrop-filter: blur(14px) saturate(130%); backdrop-filter: blur(14px) saturate(130%); }
body:not(.is-home) #header { background-color: rgba(255,255,255,0.5); }
body:not(.is-home) #header { background-color: rgba(255,255,255,0.25); }

/* Startseite (dunkle Menüs): Mouseover weiß, fast deckend, schwarze Schrift - im Web- und im Overlay-Menü gleich */
body.is-home #header .header-links > a:hover, body.is-home #header .header-links .has-sub:hover > a, body.is-home #header .header-links .sub a:hover,
body.is-home #menu .links li a:hover, body.is-home #menu .links li a:focus,
body.is-home #menu .links .sub-links a:hover, body.is-home #menu .links .sub-links a:focus { background-color: rgba(255,255,255,0.9); color: #000; opacity: 1; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; }
/* Unterseiten (helle Menüs): Mouseover dunkel, im Web- und im Overlay-Menü gleich */
body:not(.is-home) #header .header-links > a:hover, body:not(.is-home) #header .header-links .has-sub:hover > a, body:not(.is-home) #header .header-links .sub a:hover,
body:not(.is-home) #menu .links li a:hover, body:not(.is-home) #menu .links li a:focus,
body:not(.is-home) #menu .links .sub-links a:hover, body:not(.is-home) #menu .links .sub-links a:focus { background-color: rgba(0,0,0,0.75); color: #fff; opacity: 1; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; }

/* Unterseiten: dunkle Linie unter der Kopfzeile (Gegenstück zur hellen Linie auf der Startseite) */
body:not(.is-home) #header { border-bottom: 1px solid rgba(0,0,0,0.25); }

/* Footer: Links und Copyright-Zeile etwas größer und heller */
#site-footer .footer-link-columns a { font-size: 0.9rem; color: rgba(255,255,255,0.55); }
#site-footer .footer-link-columns a:hover { color: #fff; }
#site-footer .footer-copy { font-size: 0.9rem; color: rgba(255,255,255,0.55); }

/* Test: Geologica für die Kachel-Überschriften (Services, Unternehmen) */
.service-tiles .service-tile .tile-text h2 { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 700; letter-spacing: 0.15rem; }
/* Test: Geologica auch für die Kachel-Beschreibungen */
.service-tiles .service-tile .tile-text p { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 300; font-size: 0.95rem; }

/* Dropdown unter "Services" / "Unternehmen": weniger transparent */
#header .header-links .sub { background: rgba(35,35,35,0.8); -webkit-backdrop-filter: blur(20px) saturate(120%); backdrop-filter: blur(20px) saturate(120%); }
body:not(.is-home) #header .header-links .sub { background: rgba(255,255,255,0.92); -webkit-backdrop-filter: blur(20px) saturate(120%); backdrop-filter: blur(20px) saturate(120%); }

/* Stempel "Dauert etwa 5 Minuten" im Team-Radar */
#radar .intro-card { position: relative; padding-bottom: 3rem; }
#radar .time-stamp { position: absolute; right: 2rem; bottom: 1.5rem; width: 150px; height: 150px; color: #b3261e; opacity: 0.88; transform: rotate(12deg); pointer-events: none; mix-blend-mode: multiply; }
#radar .time-stamp svg { width: 100%; height: 100%; display: block; overflow: visible; }
@media (max-width: 736px) {
	#radar .time-stamp { position: static; margin: 0 auto 1.5rem; width: 110px; height: 110px; }
}

#radar .intro-card .btn-primary + .intro-privacy { margin: 1.5rem 0 0; }

/* Intro: Fließtexte exakt so breit wie die Überschrift */
#radar .intro-body { width: fit-content; max-width: 100%; margin: 0 auto; }
#radar .intro-body .intro-text { width: 0; min-width: 100%; }

/* Team-Radar: größere Skalen-Kreise, besser lesbar */
#radar { --sb: clamp(52px, 11vw, 88px); --sg: clamp(0.5rem, 2vw, 1.75rem); }
#radar .scale-row { gap: var(--sg); margin-bottom: 1.25rem; }
#radar .scale-btn { width: var(--sb); height: var(--sb); font-size: clamp(1.1rem, 2.6vw, 1.6rem); font-weight: 700; border-width: 2px; }
#radar .scale-labels { max-width: calc(5 * var(--sb) + 4 * var(--sg)); font-size: 0.85rem; margin-bottom: 2.5rem; gap: 1rem; }
#radar .scale-labels span { max-width: 45%; }
#radar .scale-labels span:last-child { text-align: right; }
#radar .scale-labels { font-size: clamp(0.95rem, 1.6vw, 1.15rem); font-weight: 700; opacity: 0.85; }

/* Doppelpfeil zwischen Kreisen und Beschriftung */
#radar .scale-arrow { position: relative; width: calc(5 * var(--sb) + 4 * var(--sg)); max-width: 100%; height: 14px; margin: 0.5rem auto 0.75rem; }
#radar .scale-arrow:before { content: ''; position: absolute; left: 10px; right: 10px; top: 50%; height: 2px; margin-top: -1px; background: rgba(0,0,0,0.65); }
#radar .scale-arrow:after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpolygon points='14,1 1,7 14,13' fill='%23000' fill-opacity='0.65'/%3E%3C/svg%3E") left center / 14px 14px no-repeat,
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpolygon points='0,1 13,7 0,13' fill='%23000' fill-opacity='0.65'/%3E%3C/svg%3E") right center / 14px 14px no-repeat; }
#radar .scale-arrow + .scale-labels { margin-top: 0; }

/* Einheitliche Höhe des Fragenkopfs, damit Antworten bei jeder Frage auf gleicher Höhe stehen */
#radar .question-head { display: flow-root; min-height: var(--headh, 11rem); }
#radar .question-head .question-text { margin-bottom: 1.25rem; }
#radar .question-head .question-text.has-help { margin-bottom: 0.75rem; }
#radar .question-head .question-help { margin-bottom: 1.25rem; }


/* Team-Radar: Ergebnisseite als zwei Karten */
#radar .result-cards { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem; align-items: stretch; padding: 1.5rem 0.5rem 2rem; }
#radar .result-card { background: #fff; border: 1px solid rgba(0,0,0,0.12); border-radius: 14px; padding: 2.5rem 2.25rem; text-align: center; box-shadow: 0 10px 30px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06); display: flex; flex-direction: column; align-items: center; justify-content: center; }
#radar .result-card-main { transform: rotate(-2deg); }
#radar .result-card-id { transform: rotate(2deg) translateY(1rem); background: #000; color: #fff; border-color: #000; }
#radar .result-card-id .question-eyebrow { color: #fff; opacity: 0.6; }
#radar .result-score-big { display: flex; align-items: baseline; justify-content: center; gap: 0.75rem; margin: 0.25rem 0 1rem; }
#radar .result-score-big .num { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(4.5rem, 9vw, 7rem); line-height: 1; }
#radar .result-score-big .unit { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.2rem; text-transform: uppercase; opacity: 0.6; }
#radar .result-card .results-title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 400; margin-bottom: 1rem; }
#radar .result-card .results-desc { margin-bottom: 0; font-size: 0.95rem; line-height: 1.8; }
#radar .result-id { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: clamp(1.8rem, 3.4vw, 2.6rem); letter-spacing: 0.15rem; margin: 0.25rem 0 1.25rem; word-break: break-all; }
#radar .result-id-note { font-size: 0.85rem; line-height: 1.7; opacity: 0.75; margin-bottom: 2rem; }
#radar .result-card-id .btn-primary { background: #fff; color: #000; }
#radar .result-card-id .btn-primary:hover { background: rgba(255,255,255,0.85); }
@media (max-width: 736px) {
	#radar .result-cards { grid-template-columns: 1fr; gap: 1.75rem; padding: 1rem 0 2rem; }
	#radar .result-card { padding: 2rem 1.5rem; }
	#radar .result-card-main { transform: rotate(-1.5deg); }
	#radar .result-card-id { transform: rotate(1.5deg); }
}
#radar .result-card-id a.btn-primary { background: #fff; color: #000 !important; border: none; text-decoration: none; }

/* Hinweistexte unter den Fragen: größer und kontrastreicher */
#radar .question-head .question-help { font-size: 0.95rem; font-style: italic; font-weight: inherit; line-height: 1.75; opacity: 1; max-width: 52rem; margin-left: auto; margin-right: auto; }

/* Interner Bereich: breitere Kacheln, Georgia-Titel, keine Unterstreichung */
#intern { max-width: none; }
#intern .hub-link-card, #intern .hub-link-card:hover, #intern .hub-link-card * { text-decoration: none; }
#intern .hub-link-card { border-bottom: 1px solid rgba(0,0,0,0.12); padding: 1.75rem 2.25rem; }
#intern .hub-link-card:hover { border-color: #000; }
#intern .hub-link-text strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0; text-transform: none; border: none; margin-bottom: 0.3rem; }
#intern .hub-link-text span { font-size: 0.95rem; opacity: 0.75; border: none; }
#intern .hub-link-text strong { text-transform: uppercase; font-size: 1.55rem; letter-spacing: 0.06rem; }
/* Interner Bereich: Kachel-Schrift wie bei den Service-Kacheln */
#intern .hub-link-text strong { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.15rem; font-size: 1.15rem; }
#intern .hub-link-text span { font-family: 'Geologica', 'Lato', Helvetica, sans-serif; font-weight: 300; font-size: 0.95rem; opacity: 0.75; }
#intern .hub-link-icon { font-size: 2.8rem; width: 4rem; line-height: 1; }
#intern .hub-link-icon i, #intern .hub-link-icon svg { font-size: inherit; }
#intern .hub-link-card { padding-left: 0; gap: 0; }
#intern .hub-link-icon { display: flex; align-items: center; justify-content: center; width: 8rem; height: 4.5rem; font-size: 3.6rem; line-height: 1; flex-shrink: 0; }
@media (max-width: 736px) { #intern .hub-link-icon { width: 5rem; font-size: 2.8rem; } }

/* CoP: volle Breite, zwei Spalten */
#cop { max-width: none; width: 100%; margin-top: 2rem; }
#cop .cop-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 3rem; align-items: start; }
#cop .cop-intro .cop-hero-note { font-size: 1.15rem; line-height: 1.9; max-width: none; margin-bottom: 1.5rem; }
#cop .cop-intro .imp-block { margin: 0; padding: 0; }
#cop .cop-event { margin: 0; border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.08); padding: 2.5rem 2.75rem; }
#cop .cop-event-label { display: inline-block; background: #000; color: #fff; opacity: 1; padding: 0.3rem 0.8rem; border-radius: 999px; font-size: 0.7rem; margin-bottom: 1.25rem; }
#cop .cop-event-title { font-family: 'Geologica', 'Lato', sans-serif; letter-spacing: 0.04rem; }
#cop .cop-event-when { font-size: 1.1rem; font-weight: 700; }
#cop .cop-countdown { font-family: 'Oswald', 'Lato', sans-serif; font-weight: 500; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: 0.08rem; }
#cop .cop-btn { border-radius: 6px; font-family: 'Geologica', 'Lato', sans-serif; }
@media screen and (max-width: 980px) { #cop .cop-grid { grid-template-columns: 1fr; gap: 2rem; } }
#cop .cop-banner { display: block; width: 100%; height: auto; margin-top: 2.25rem; border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.08); }

/* News-Seite */
#news { max-width: none; width: 100%; margin: 2rem 0 0 0; }
#news .news-list { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 2.5rem; }
#news .news-item { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.08); padding: 2.25rem 2.5rem; }
#news .news-item.has-image { display: grid; grid-template-columns: minmax(240px, 36%) 1fr; gap: 2.5rem; align-items: start; }
#news .news-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px; box-shadow: 0 4px 14px rgba(0,0,0,0.12); }
#news .news-content { min-width: 0; }
#news .news-date { display: inline-block; background: #000; color: #fff; padding: 0.3rem 0.85rem; border-radius: 999px; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; margin-bottom: 1rem; }
#news .news-item h2 { font-family: 'Geologica', 'Lato', sans-serif; font-size: clamp(1.3rem, 2.6vw, 1.8rem); font-weight: 700; letter-spacing: 0.04rem; text-transform: uppercase; line-height: 1.3; margin: 0 0 1rem 0; }
#news .news-body { line-height: 1.85; white-space: pre-wrap; margin-bottom: 1.5rem; }
#news .news-body:last-child { margin-bottom: 0; }
#news .news-btn { display: inline-block; font-family: 'Geologica', 'Lato', sans-serif; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; color: #fff; background: #000; padding: 0 2rem; height: 3rem; line-height: 3rem; border-radius: 6px; border-bottom: none; text-decoration: none; transition: background-color 0.2s ease; }
#news .news-btn:hover { background: #333; color: #fff; }
#news .news-hint { opacity: 0.7; }
#news .imp-text a { text-decoration: underline; border-bottom: none; }
@media screen and (max-width: 900px) { #news .news-item.has-image { grid-template-columns: 1fr; gap: 1.5rem; } }
@media screen and (max-width: 600px) { #news .news-item { padding: 1.5rem; } }

/* News: Datumsmenü links, eine News in der Mitte */
#news .news-layout { display: grid; grid-template-columns: 280px 1fr; gap: 2.5rem; align-items: start; margin-bottom: 2.5rem; }
#news .news-layout.is-empty { display: block; }
#news .news-layout.is-empty .news-nav { display: none; }
#news .news-list { margin-bottom: 0; }
#news .news-nav { position: sticky; top: 6rem; display: flex; flex-direction: column; gap: 0.5rem; max-height: calc(100vh - 8rem); overflow-y: auto; padding: 0.25rem; }
#news .news-nav-item { display: block; padding: 0.9rem 1.1rem; background: #fff; border: 1px solid rgba(0,0,0,0.1); border-left: 5px solid rgba(0,0,0,0.15); border-radius: 8px; color: #000; text-decoration: none; border-bottom-width: 1px; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease; }
#news .news-nav-item:hover { border-left-color: #000; transform: translateX(3px); }
#news .news-nav-item .nn-date { display: block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15rem; opacity: 0.65; margin-bottom: 0.25rem; }
#news .news-nav-item .nn-title { display: block; font-family: 'Geologica', 'Lato', sans-serif; font-size: 0.9rem; font-weight: 600; line-height: 1.35; }
#news .news-nav-item.is-active { background: #000; border-color: #000; color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,0.18); }
#news .news-nav-item.is-active .nn-date { opacity: 0.8; }
@media screen and (max-width: 980px) {
	#news .news-layout { grid-template-columns: 1fr; gap: 1.5rem; }
	#news .news-nav { position: static; flex-direction: row; max-height: none; overflow-x: auto; overflow-y: visible; padding-bottom: 0.75rem; -webkit-overflow-scrolling: touch; }
	#news .news-nav-item { flex: 0 0 auto; min-width: 200px; max-width: 260px; }
	#news .news-nav-item:hover { transform: none; }
}

/* News: Überblendung beim Wechsel */
#news .news-list { transition: opacity 0.28s ease, transform 0.28s ease; }
#news .news-list.is-leaving { opacity: 0; transform: translateY(10px); }
#news .news-list.is-entering { opacity: 0; transform: translateY(-10px); transition: none; }
#news .news-item { animation: none; }
#news .news-nav-item.is-active { animation: newsNavPop 0.3s ease; }
@keyframes newsNavPop { from { transform: scale(0.97); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { #news .news-list, #news .news-nav-item { transition: none; animation: none !important; } }
#news .news-item { border-top: 1px solid rgba(0,0,0,0.1); }
.to-top { box-shadow: 0 4px 14px rgba(0,0,0,0.25), 0 0 0 1px rgba(255,255,255,0.35); }
/* News-Menü: Hover einheitlich zum Rest der Seite (dunkle Füllung, weiße Schrift, keine Bewegung) */
#news .news-nav-item { border-left: 1px solid rgba(0,0,0,0.1); transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
#news .news-nav-item:hover { transform: none; border-left-color: #333; background: #333; border-color: #333; color: #fff; }
#news .news-nav-item:hover .nn-date { opacity: 0.8; }
#news .news-nav-item.is-active, #news .news-nav-item.is-active:hover { background: #000; border-color: #000; color: #fff; animation: none; }

/* News: Bild groß mit Überschrift im Bild (wie bei den Service-Kacheln) */
#news .news-item.has-image { display: block; padding: 0; overflow: hidden; }
#news .news-hero { position: relative; display: flex; align-items: flex-end; min-height: 22rem; aspect-ratio: 16 / 7; background: #1b1b1b; overflow: hidden; }
#news .news-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#news .news-hero:before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.75) 100%); }
#news .news-hero-text { position: relative; z-index: 2; padding: 2.25rem 2.5rem; width: 100%; }
#news .news-hero-text .news-date { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.45); color: #fff; margin-bottom: 0.9rem; }
#news .news-hero-text h2 { color: #fff; margin: 0; font-size: clamp(1.5rem, 3.2vw, 2.4rem); letter-spacing: 0.1rem; text-shadow: 0 2px 12px rgba(0,0,0,0.35); }
#news .news-item.has-image .news-content { padding: 2rem 2.5rem 2.25rem; }
@media screen and (max-width: 900px) { #news .news-hero { min-height: 16rem; aspect-ratio: auto; } #news .news-hero-text { padding: 1.5rem; } #news .news-item.has-image .news-content { padding: 1.5rem; } }
#news .news-list { min-width: 0; }
#news .news-hero { aspect-ratio: auto; min-height: 0; height: clamp(18rem, 30vw, 26rem); }
@media screen and (max-width: 900px) { #news .news-hero { height: 17rem; } }

/* News: LinkedIn-Button unter dem Datumsmenü */
#news .news-linkedin { display: flex; align-items: center; justify-content: center; margin-top: 0.75rem; padding: 0 1.25rem; height: 3rem; background: #000; color: #fff; border: 1px solid #000; border-radius: 6px; font-family: 'Geologica', 'Lato', sans-serif; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; text-decoration: none; border-bottom-width: 1px; transition: background-color 0.2s ease, border-color 0.2s ease; }
#news .news-linkedin:before { content: '\f0e1'; font-family: 'Font Awesome 5 Brands'; font-weight: 400; font-size: 1.1rem; margin-right: 0.7rem; letter-spacing: 0; }
#news .news-linkedin:hover { background: #333; border-color: #333; color: #fff; }
@media screen and (max-width: 980px) { #news .news-linkedin { flex: 0 0 auto; margin-top: 0; padding: 0 1.5rem; white-space: nowrap; } }
#news .news-layout.is-empty .news-linkedin { display: inline-flex; padding: 0 2rem; }
#news .news-linkedin { white-space: nowrap; }
#news .news-linkedin { background: #0a66c2; border-color: #0a66c2; }
#news .news-linkedin:hover { background: #004182; border-color: #004182; color: #fff; }
#news .news-linkedin { white-space: normal; text-align: center; line-height: 1.35; min-height: 3rem; height: auto; padding: 0.7rem 1rem; letter-spacing: 0.1rem; }

/* Overlay-Menue: alle Untermenues auf einer gemeinsamen Linie */
#menu .links .sub-links { width: 19rem; max-width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }

/* Start-Banner auf Handy/Tablet: Inhalt wachsen lassen statt oben ueber den Rand zu laufen */
@media screen and (max-width: 980px) {
	#banner { height: auto; min-height: 0; align-items: flex-start; padding-top: 7rem; padding-bottom: 7rem; box-sizing: border-box; }
}

/* Downloads: Portfolio-Karten mit runden Portraets */
#downloads .download-card { align-items: center; text-align: center; }
#downloads .download-card.person .download-cover { width: 13rem; height: 13rem; aspect-ratio: 1 / 1; border-radius: 50%; background: #fff; border: 1px solid rgba(0,0,0,0.12); box-shadow: 0 4px 14px rgba(0,0,0,0.08); margin: 1.5rem auto 1.5rem auto; }
#downloads .download-card.person .download-cover img { object-fit: cover; object-position: center; }

/* Downloads: Button auch auf dem Handy mit Innenabstand (Template setzt dort padding:0) */
#downloads .download-card .button { padding: 0 2.25rem; min-width: 11rem; text-align: center; white-space: nowrap; box-sizing: border-box; }

/* Downloads: gruener Stempel "Approved 2026" auf den Karten */
#downloads .download-cover { position: relative; overflow: visible; }
#downloads .download-cover img { border-radius: 6px; }
#downloads .download-card.person .download-cover img { border-radius: 50%; }
#downloads .download-cover::after { content: ''; position: absolute; right: -0.4rem; bottom: -1.1rem; width: 6.25rem; height: 6.25rem; background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 200%22%3E%3Cdefs%3E%3Cpath id=%22t%22 d=%22M 34,100 A 66,66 0 0 1 166,100%22/%3E%3Cpath id=%22b%22 d=%22M 18,100 A 82,82 0 0 0 182,100%22/%3E%3C/defs%3E%3Cg fill=%22none%22 stroke=%22%231f9d4c%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2294%22 stroke-width=%226%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2252%22 stroke-width=%223%22/%3E%3C/g%3E%3Cg fill=%22%231f9d4c%22 font-family=%22Helvetica,Arial,sans-serif%22 font-weight=%22700%22 text-anchor=%22middle%22%3E%3Ctext font-size=%2221%22 letter-spacing=%223%22%3E%3CtextPath href=%22%23t%22 startOffset=%2250%25%22%3EAPPROVED%3C/textPath%3E%3C/text%3E%3Ctext font-size=%2222%22 letter-spacing=%225%22%3E%3CtextPath href=%22%23b%22 startOffset=%2250%25%22%3E2026%3C/textPath%3E%3C/text%3E%3C/g%3E%3Cpolyline points=%2272,102 92,122 130,76%22 fill=%22none%22 stroke=%22%231f9d4c%22 stroke-width=%2213%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center / contain no-repeat; transform: rotate(-14deg); opacity: 0.92; mix-blend-mode: multiply; pointer-events: none; }
@media screen and (max-width: 640px) { #downloads .download-cover::after { width: 5.5rem; height: 5.5rem; } }
#downloads .download-card.person .download-cover::after { right: -2rem; bottom: -1.3rem; mix-blend-mode: normal; opacity: 0.95; }
#downloads .download-cover::after { background-color: rgba(255,255,255,0.88); border-radius: 50%; }

/* Downloads: Stempel unregelmaessig, je Karte anders gedreht und mit eigener Struktur */
#downloads .download-cover::after { background-color: transparent; border-radius: 0; }
#downloads .download-card.stamp-1 .download-cover::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-8 -8 216 216%22%3E%3Cdefs%3E%3Cpath id=%22t%22 d=%22M 34,100 A 66,66 0 0 1 166,100%22/%3E%3Cpath id=%22b%22 d=%22M 18,100 A 82,82 0 0 0 182,100%22/%3E%3Cfilter id=%22r%22 x=%22-10%25%22 y=%22-10%25%22 width=%22120%25%22 height=%22120%25%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.03%22 numOctaves=%222%22 seed=%223%22 result=%22w%22/%3E%3CfeDisplacementMap in=%22SourceGraphic%22 in2=%22w%22 scale=%224%22 xChannelSelector=%22R%22 yChannelSelector=%22G%22 result=%22d%22/%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.3%22 numOctaves=%223%22 seed=%2243%22 result=%22n%22/%3E%3CfeColorMatrix in=%22n%22 type=%22matrix%22 values=%220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 5.9%22 result=%22h%22/%3E%3CfeComposite in=%22d%22 in2=%22h%22 operator=%22in%22/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2290%22 fill=%22%23ffffff%22 fill-opacity=%220.8%22/%3E%3Cg filter=%22url%28%23r%29%22%3E%3Cg fill=%22none%22 stroke=%22%231f9d4c%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2294%22 stroke-width=%226%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2252%22 stroke-width=%223%22/%3E%3C/g%3E%3Cg fill=%22%231f9d4c%22 font-family=%22Helvetica,Arial,sans-serif%22 font-weight=%22700%22 text-anchor=%22middle%22%3E%3Ctext font-size=%2221%22 letter-spacing=%223%22%3E%3CtextPath href=%22%23t%22 startOffset=%2250%25%22%3EAPPROVED%3C/textPath%3E%3C/text%3E%3Ctext font-size=%2222%22 letter-spacing=%225%22%3E%3CtextPath href=%22%23b%22 startOffset=%2250%25%22%3E2026%3C/textPath%3E%3C/text%3E%3C/g%3E%3Cpolyline points=%2272,102 92,122 130,76%22 fill=%22none%22 stroke=%22%231f9d4c%22 stroke-width=%2213%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E"); transform: rotate(-17deg); }
#downloads .download-card.stamp-2 .download-cover::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-8 -8 216 216%22%3E%3Cdefs%3E%3Cpath id=%22t%22 d=%22M 34,100 A 66,66 0 0 1 166,100%22/%3E%3Cpath id=%22b%22 d=%22M 18,100 A 82,82 0 0 0 182,100%22/%3E%3Cfilter id=%22r%22 x=%22-10%25%22 y=%22-10%25%22 width=%22120%25%22 height=%22120%25%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.03%22 numOctaves=%222%22 seed=%228%22 result=%22w%22/%3E%3CfeDisplacementMap in=%22SourceGraphic%22 in2=%22w%22 scale=%224%22 xChannelSelector=%22R%22 yChannelSelector=%22G%22 result=%22d%22/%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.3%22 numOctaves=%223%22 seed=%2248%22 result=%22n%22/%3E%3CfeColorMatrix in=%22n%22 type=%22matrix%22 values=%220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 5.9%22 result=%22h%22/%3E%3CfeComposite in=%22d%22 in2=%22h%22 operator=%22in%22/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2290%22 fill=%22%23ffffff%22 fill-opacity=%220.8%22/%3E%3Cg filter=%22url%28%23r%29%22%3E%3Cg fill=%22none%22 stroke=%22%231f9d4c%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2294%22 stroke-width=%226%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2252%22 stroke-width=%223%22/%3E%3C/g%3E%3Cg fill=%22%231f9d4c%22 font-family=%22Helvetica,Arial,sans-serif%22 font-weight=%22700%22 text-anchor=%22middle%22%3E%3Ctext font-size=%2221%22 letter-spacing=%223%22%3E%3CtextPath href=%22%23t%22 startOffset=%2250%25%22%3EAPPROVED%3C/textPath%3E%3C/text%3E%3Ctext font-size=%2222%22 letter-spacing=%225%22%3E%3CtextPath href=%22%23b%22 startOffset=%2250%25%22%3E2026%3C/textPath%3E%3C/text%3E%3C/g%3E%3Cpolyline points=%2272,102 92,122 130,76%22 fill=%22none%22 stroke=%22%231f9d4c%22 stroke-width=%2213%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E"); transform: rotate(9deg); }
#downloads .download-card.stamp-3 .download-cover::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-8 -8 216 216%22%3E%3Cdefs%3E%3Cpath id=%22t%22 d=%22M 34,100 A 66,66 0 0 1 166,100%22/%3E%3Cpath id=%22b%22 d=%22M 18,100 A 82,82 0 0 0 182,100%22/%3E%3Cfilter id=%22r%22 x=%22-10%25%22 y=%22-10%25%22 width=%22120%25%22 height=%22120%25%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.03%22 numOctaves=%222%22 seed=%2214%22 result=%22w%22/%3E%3CfeDisplacementMap in=%22SourceGraphic%22 in2=%22w%22 scale=%224%22 xChannelSelector=%22R%22 yChannelSelector=%22G%22 result=%22d%22/%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.3%22 numOctaves=%223%22 seed=%2254%22 result=%22n%22/%3E%3CfeColorMatrix in=%22n%22 type=%22matrix%22 values=%220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 5.9%22 result=%22h%22/%3E%3CfeComposite in=%22d%22 in2=%22h%22 operator=%22in%22/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2290%22 fill=%22%23ffffff%22 fill-opacity=%220.8%22/%3E%3Cg filter=%22url%28%23r%29%22%3E%3Cg fill=%22none%22 stroke=%22%231f9d4c%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2294%22 stroke-width=%226%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2252%22 stroke-width=%223%22/%3E%3C/g%3E%3Cg fill=%22%231f9d4c%22 font-family=%22Helvetica,Arial,sans-serif%22 font-weight=%22700%22 text-anchor=%22middle%22%3E%3Ctext font-size=%2221%22 letter-spacing=%223%22%3E%3CtextPath href=%22%23t%22 startOffset=%2250%25%22%3EAPPROVED%3C/textPath%3E%3C/text%3E%3Ctext font-size=%2222%22 letter-spacing=%225%22%3E%3CtextPath href=%22%23b%22 startOffset=%2250%25%22%3E2026%3C/textPath%3E%3C/text%3E%3C/g%3E%3Cpolyline points=%2272,102 92,122 130,76%22 fill=%22none%22 stroke=%22%231f9d4c%22 stroke-width=%2213%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E"); transform: rotate(-6deg); }
#downloads .download-card.stamp-4 .download-cover::after { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-8 -8 216 216%22%3E%3Cdefs%3E%3Cpath id=%22t%22 d=%22M 34,100 A 66,66 0 0 1 166,100%22/%3E%3Cpath id=%22b%22 d=%22M 18,100 A 82,82 0 0 0 182,100%22/%3E%3Cfilter id=%22r%22 x=%22-10%25%22 y=%22-10%25%22 width=%22120%25%22 height=%22120%25%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.03%22 numOctaves=%222%22 seed=%2221%22 result=%22w%22/%3E%3CfeDisplacementMap in=%22SourceGraphic%22 in2=%22w%22 scale=%224%22 xChannelSelector=%22R%22 yChannelSelector=%22G%22 result=%22d%22/%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.3%22 numOctaves=%223%22 seed=%2261%22 result=%22n%22/%3E%3CfeColorMatrix in=%22n%22 type=%22matrix%22 values=%220 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -9 5.9%22 result=%22h%22/%3E%3CfeComposite in=%22d%22 in2=%22h%22 operator=%22in%22/%3E%3C/filter%3E%3C/defs%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2290%22 fill=%22%23ffffff%22 fill-opacity=%220.8%22/%3E%3Cg filter=%22url%28%23r%29%22%3E%3Cg fill=%22none%22 stroke=%22%231f9d4c%22%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2294%22 stroke-width=%226%22/%3E%3Ccircle cx=%22100%22 cy=%22100%22 r=%2252%22 stroke-width=%223%22/%3E%3C/g%3E%3Cg fill=%22%231f9d4c%22 font-family=%22Helvetica,Arial,sans-serif%22 font-weight=%22700%22 text-anchor=%22middle%22%3E%3Ctext font-size=%2221%22 letter-spacing=%223%22%3E%3CtextPath href=%22%23t%22 startOffset=%2250%25%22%3EAPPROVED%3C/textPath%3E%3C/text%3E%3Ctext font-size=%2222%22 letter-spacing=%225%22%3E%3CtextPath href=%22%23b%22 startOffset=%2250%25%22%3E2026%3C/textPath%3E%3C/text%3E%3C/g%3E%3Cpolyline points=%2272,102 92,122 130,76%22 fill=%22none%22 stroke=%22%231f9d4c%22 stroke-width=%2213%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E"); transform: rotate(13deg); }
/* Stempel: Position je Karte minimal verschieden */
#downloads .download-card.stamp-1 .download-cover::after { right: -0.2rem; bottom: -1.3rem; }
#downloads .download-card.stamp-2 .download-cover::after { right: -2.3rem; bottom: -1.0rem; }
#downloads .download-card.stamp-3 .download-cover::after { right: -1.7rem; bottom: -1.5rem; }
#downloads .download-card.stamp-4 .download-cover::after { right: -0.6rem; bottom: -0.9rem; }

/* Downloads: dynamisch gerenderte Karten, Stempel als Inline-SVG */
#downloadList.is-loading { visibility: hidden; }
#downloads .download-cover::after { content: none !important; }
#downloads .stamp { position: absolute; width: 6.25rem; height: 6.25rem; pointer-events: none; z-index: 2; overflow: visible; }
#downloads .stamp.stamp-wip { width: 8.5rem; height: 4.25rem; }
#downloads .download-meta { display: flex; align-items: center; justify-content: center; gap: 0.7rem; margin-bottom: 0.75rem; }
#downloads .download-meta .download-tag { margin-bottom: 0; }
#downloads .download-date { font-size: 0.75rem; opacity: 0.65; letter-spacing: 0.05rem; }
#downloads .download-wip { display: inline-block; margin-top: 0; box-sizing: border-box; padding: 0 1.25rem; height: 2.5rem; line-height: 2.5rem; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; color: #c0322b; border: 1px dashed rgba(192,50,43,0.6); border-radius: 6px; white-space: nowrap; }
#downloads .download-card.is-wip .download-cover img { filter: grayscale(0.25); }
@media screen and (max-width: 640px) {
	#downloads .stamp { width: 5.5rem; height: 5.5rem; }
	#downloads .stamp.stamp-wip { width: 7.5rem; height: 3.75rem; }
}

/* "In Arbeit"-Kasten auf gleicher Höhe wie der Download-Button (Platz der Zähler-Zeile freihalten) */
#downloads .download-card.is-wip .download-wip { margin-bottom: calc(0.75rem + 1.35rem); }

/* Interner Bereich: externe VPN-Links */
#intern .hub-link-icon svg { width: 3.6rem; height: 3.6rem; }
#intern .hub-vpn { display: inline-block; vertical-align: middle; margin-left: 0.6rem; padding: 0.15rem 0.55rem; border-radius: 999px; background: #000; color: #fff; font-style: normal; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; }

/* Startseite: weißer Stempel mit Anzahl der Team-Radars im Monat (erscheint erst ab Schwellenwert) */
#banner .content .radar-tile { overflow: visible; }
#banner .content .radar-tile:before { border-radius: inherit; }
#banner .content .radar-tile .radar-stamp { position: absolute; right: calc(-2.9rem + var(--rs-dx, 0rem)); bottom: calc(-2.1rem + var(--rs-dy, 0rem)); width: 6.75rem; height: 6.75rem; transform: rotate(var(--rs-rot, 13deg)); pointer-events: none; z-index: 2; overflow: visible; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35)); }
#banner .content .radar-tile .radar-stamp[hidden] { display: none; }
@media screen and (max-width: 736px) { #banner .content .radar-tile .radar-stamp { right: calc(-1.6rem + var(--rs-dx, 0rem)); bottom: calc(-1.9rem + var(--rs-dy, 0rem)); width: 5.75rem; height: 5.75rem; } }

/* Umfrage-Seite (survey.html): Ergänzungen zu den #radar-Stilen */
#radar .error-text { color: #a94442; font-size: 0.85rem; margin-bottom: 1rem; }
#radar .results-icon { font-size: 3.2rem; line-height: 1; margin-bottom: 1.25rem; }
#radar .results-summary { background: #fff; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; padding: 1.5rem 1.75rem; text-align: left; max-width: 34rem; margin: 0 auto; }
#radar .results-summary p { margin: 0; }

/* Hinweis zur Nutzung der Downloads */
#downloads .downloads-note { font-size: 0.85rem; opacity: 0.7; max-width: 640px; margin: -2rem 0 3rem; }

/* Druck/PDF der AGB: Kopf mit Logo und Fuß wie bei der Team-Radar-Auswertung */
.print-doc .print-header, .print-doc .print-footer { display: none; }
@media print {
	@page { size: A4; margin: 0; }
	html, body { background: #fff !important; }
	* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	#page-wrapper { padding-top: 0 !important; }
	#header, #menu, #site-footer, .to-top, .print-doc .back-link { display: none !important; }
	body #page-wrapper #main.print-doc { padding: 0 !important; background: #fff !important; }
	.print-doc:before, .print-doc:after { display: none !important; }
	.print-doc > .inner { box-sizing: border-box; max-width: none !important; width: 100% !important; margin: 0 !important; padding: 1.5cm 1.6cm 3.6cm !important; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
	.print-doc .print-header { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 0.25cm; margin-bottom: 0.9cm; border-bottom: 0.5pt solid #888; }
	.print-doc .print-header img { height: 1.5cm; width: auto; }
	.print-doc header.major { margin-bottom: 0.6cm; }
	.print-doc h1 { font-size: 20pt; margin: 0 0 0.3cm; }
	.print-doc #legal .imp-block { break-inside: avoid; page-break-inside: avoid; margin-bottom: 0.7cm; }
	.print-doc #legal .imp-text { font-size: 9.5pt; line-height: 1.55; }
	.print-doc #legal .imp-heading { font-size: 10pt; }
	.print-doc .print-footer { display: block; position: fixed; left: 0; right: 0; bottom: 0; padding: 0.35cm 1.6cm 0.2cm; background: #fff; }
	.print-doc .print-footer:before { content: ''; position: absolute; left: 1.6cm; right: 1.6cm; top: 0; border-top: 0.5pt solid #888; }
	.print-doc .print-footer .pf-note { margin: 0.2cm 0 0.45cm; font-size: 8.5pt; line-height: 1.35; text-align: center; color: #000; padding: 0 1.6cm; }
	.print-doc .print-footer .pf-company { display: block; margin: 0; font-size: 9pt; font-weight: 700; text-align: center; color: #000; }
	.print-doc .print-footer .pf-icon { position: absolute; right: 0.9cm; bottom: 0.8cm; height: 1.1cm; width: auto; }
}

/* Druck-Button: bei Mouseover Schrift weiß auf schwarz (überschreibt Template-Hover) */
#legal .print-btn:hover, #legal .print-btn:focus, #legal .print-btn:active { background: #000 !important; color: #fff !important; border-color: #000 !important; }

/* Druck-Button: Symbol (PDF-Datei) statt Emoji, etwas größer */
#legal .print-btn:before { content: '\f019'; font-family: 'Font Awesome 5 Free'; font-weight: 900; font-style: normal; display: inline-block; font-size: 1.5em; line-height: 1; vertical-align: middle; margin-right: 0.7rem; letter-spacing: 0; }

/* ---------- Feedback / Fehler melden ---------- */
#feedback .fb-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem; align-items: start; }
#feedback .fb-card { background: #fff; border: 1px solid rgba(0,0,0,0.12); border-radius: 14px; padding: 2rem 2.2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
#feedback .fb-card h2 { margin: 0 0 1.2rem; font-size: 1.3rem; }
#feedback .fb-label { display: block; margin: 1.2rem 0 0.5rem; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1rem; text-transform: uppercase; }
#feedback .fb-label:first-of-type { margin-top: 0; }
#feedback .fb-opt { font-weight: 400; letter-spacing: 0; text-transform: none; opacity: 0.7; }
#feedback input[type=text], #feedback textarea { width: 100%; box-sizing: border-box; }
#feedback textarea { resize: vertical; min-height: 9rem; }
#feedback .fb-count { text-align: right; font-size: 0.75rem; opacity: 0.6; margin-top: 0.3rem; }
#feedback .fb-types { display: flex; gap: 0.6rem; flex-wrap: wrap; }
#feedback button.fb-type { margin: 0; padding: 0 1.4rem; height: 2.8rem; line-height: 2.8rem; border: 2px solid #000; border-radius: 8px; background: #fff !important; color: #000 !important; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08rem; text-transform: uppercase; box-shadow: none; cursor: pointer; }
#feedback button.fb-type:hover { background: #eee !important; }
#feedback button.fb-type.active { background: #000 !important; color: #fff !important; }
#feedback button.fb-submit, #feedback button.fb-secondary { margin: 1.4rem 0 0; padding: 0 1.8rem; height: 3rem; line-height: 3rem; border: 2px solid #000; border-radius: 8px; background: #000 !important; color: #fff !important; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1rem; text-transform: uppercase; box-shadow: none; cursor: pointer; }
#feedback button.fb-submit:hover { background: #fff !important; color: #000 !important; }
#feedback button.fb-secondary { background: #fff !important; color: #000 !important; }
#feedback button.fb-secondary:hover { background: #000 !important; color: #fff !important; }
#feedback button.fb-submit:disabled { opacity: 0.5; cursor: wait; }
#feedback .fb-note { margin: 1.2rem 0 0; font-size: 0.82rem; line-height: 1.6; opacity: 0.75; }
#feedback .fb-error { margin: 1rem 0 0; padding: 0.8rem 1rem; border-left: 4px solid #a3322f; background: #fbf1f0; color: #7d2421; font-size: 0.9rem; border-radius: 4px; }
#feedback .fb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#feedback .fb-done { text-align: center; padding: 1rem 0; }
#feedback .fb-eyebrow { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.15rem; text-transform: uppercase; opacity: 0.7; }
#feedback .fb-ticket { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 3rem; letter-spacing: 0.15rem; margin: 1rem 0; }
#feedback .fb-actions { display: flex; gap: 0.8rem; justify-content: center; flex-wrap: wrap; }
#feedback .fb-result { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(0,0,0,0.12); }
#feedback .fb-result-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
#feedback .fb-result-id { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 1.5rem; letter-spacing: 0.08rem; }
#feedback .fb-status { display: inline-block; padding: 0.3rem 0.9rem; border-radius: 99px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06rem; text-transform: uppercase; background: #e8e8e8; color: #000; }
#feedback .fb-status-progress { background: #f6e3a8; }
#feedback .fb-status-done { background: #cfe6d2; }
#feedback .fb-status-declined { background: #e3d0cf; }
#feedback .fb-result-meta { margin: 0.7rem 0 0; font-size: 0.85rem; opacity: 0.75; }
#feedback .fb-reply { margin-top: 1rem; padding: 1rem 1.2rem; background: #f3f3f3; border-radius: 8px; }
#feedback .fb-reply p { margin: 0.4rem 0 0; font-size: 0.92rem; line-height: 1.6; }
#feedback .fb-result-none p { color: #7d2421; }
@media (max-width: 900px) { #feedback .fb-grid { grid-template-columns: 1fr; } #feedback .fb-card { padding: 1.5rem 1.3rem; } #feedback .fb-ticket { font-size: 2.2rem; } }

/* ---------- News-Teaser auf der Startseite: Karten wie ein Kartenstapel ---------- */
#news-teaser { padding: 4rem 0 7rem; }
#news-teaser[hidden] { display: none; }
#news-teaser header.major { margin: 0 0 2.5rem; text-align: center; }
#news-teaser header.major h2 { margin: 0; }
#news-teaser .nt-fan { display: flex; justify-content: center; align-items: flex-start; padding: 1rem 0 2rem; }
#news-teaser .nt-pk { --r: 0deg; --y: 0px; position: relative; flex: 0 0 auto; display: flex; flex-direction: column; width: 15.5rem; aspect-ratio: 5 / 7; box-sizing: border-box; padding: 2.7rem 1.3rem 1.2rem; overflow: hidden; background: #fff; border: 1px solid rgba(0,0,0,0.16); border-bottom: 1px solid rgba(0,0,0,0.16); border-radius: 14px; box-shadow: 0 10px 26px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.10); text-decoration: none; color: #000; transform: translateY(var(--y)) rotate(var(--r)); transition: transform .35s ease, margin .35s ease, box-shadow .25s ease; }
#news-teaser .nt-pk + .nt-pk { margin-left: -9.5rem; }
#news-teaser .nt-count-1 .nt-pk { --r: 0deg; --y: 0px; }
#news-teaser .nt-count-2 .nt-pk:nth-child(1) { --r: -5deg; --y: 8px; } #news-teaser .nt-count-2 .nt-pk:nth-child(2) { --r: 4deg; --y: 0px; }
#news-teaser .nt-count-3 .nt-pk:nth-child(1) { --r: -7deg; --y: 14px; } #news-teaser .nt-count-3 .nt-pk:nth-child(2) { --r: 0deg; --y: 0px; } #news-teaser .nt-count-3 .nt-pk:nth-child(3) { --r: 7deg; --y: 14px; }
#news-teaser .nt-pk:nth-child(1) { z-index: 1; } #news-teaser .nt-pk:nth-child(2) { z-index: 2; } #news-teaser .nt-pk:nth-child(3) { z-index: 3; }
#news-teaser .nt-bg { position: absolute; inset: 0; z-index: 0; }
#news-teaser .nt-pk.has-img .nt-bg { background: var(--img) center / cover no-repeat; filter: blur(6px); transform: scale(1.18); }
#news-teaser .nt-pk.has-img .nt-bg:after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0.66); }
#news-teaser .nt-pk > *:not(.nt-bg) { position: relative; z-index: 1; }
#news-teaser .nt-corner { position: absolute !important; top: 0.9rem; left: 1rem; font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 1.05rem; letter-spacing: 0.05rem; line-height: 1; }
#news-teaser .nt-mark { position: absolute !important; top: 0.85rem; right: 1rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: #000; }
#news-teaser .nt-pk strong { font-family: 'Geologica', 'Lato', sans-serif; font-size: 1.05rem; line-height: 1.3; letter-spacing: 0.02rem; margin: 0.4rem 0 0.7rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#news-teaser .nt-txt { font-size: 0.85rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
#news-teaser .nt-more { margin-top: auto; align-self: flex-end; font-weight: 700; letter-spacing: 0.12rem; text-transform: uppercase; font-size: 0.7rem; }
#news-teaser .nt-all { text-align: center; margin: 1.5rem 0 0; }
#news-teaser .nt-all a { font-weight: 700; letter-spacing: 0.14rem; text-transform: uppercase; font-size: 0.78rem; }
@media (hover: hover) and (min-width: 737px) {
  #news-teaser .nt-fan:hover .nt-pk + .nt-pk { margin-left: 1.4rem; }
  #news-teaser .nt-fan:hover .nt-pk { --y: 0px; }
  #news-teaser .nt-count-3:hover .nt-pk:nth-child(1) { --r: -3deg; } #news-teaser .nt-count-3:hover .nt-pk:nth-child(3) { --r: 3deg; }
  #news-teaser .nt-count-2:hover .nt-pk:nth-child(1) { --r: -2deg; } #news-teaser .nt-count-2:hover .nt-pk:nth-child(2) { --r: 2deg; }
  #news-teaser .nt-fan .nt-pk:hover { transform: translateY(-10px) rotate(0deg) scale(1.04); box-shadow: 0 20px 40px rgba(0,0,0,0.24); z-index: 5; }
}
@media (max-width: 736px) {
  #news-teaser .nt-fan { flex-direction: column; align-items: center; gap: 1.4rem; }
  #news-teaser .nt-pk { width: min(17rem, 82vw); }
  #news-teaser .nt-pk + .nt-pk { margin-left: 0; }
  #news-teaser .nt-fan .nt-pk { --r: 0deg !important; --y: 0px !important; }
  #news-teaser .nt-fan .nt-pk:nth-child(odd) { --r: -1.5deg !important; } #news-teaser .nt-fan .nt-pk:nth-child(even) { --r: 1.5deg !important; }
}

/* News-Teaser: Bild als deutlich sichtbarer, unscharfer Hintergrundausschnitt */
#news-teaser .nt-pk.has-img .nt-bg { filter: blur(4px) saturate(1.1); transform: scale(1.15); }
#news-teaser .nt-pk.has-img .nt-bg:after { background: linear-gradient(180deg, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0.34) 45%, rgba(255,255,255,0.62) 100%); }
#news-teaser .nt-pk.has-img strong, #news-teaser .nt-pk.has-img p, #news-teaser .nt-pk.has-img .nt-date, #news-teaser .nt-pk.has-img .nt-more { text-shadow: 0 0 6px rgba(255,255,255,0.95), 0 0 2px rgba(255,255,255,0.9); }

/* News-Teaser im Stil der Service-Kacheln: dunkel, Bild + Verlauf, Text unten */
#news-teaser .nt-pk { color: #fff; background: linear-gradient(160deg, #3a3a3a 0%, #111 100%); border-color: rgba(0,0,0,0.5); justify-content: flex-end; padding: 2.7rem 1.3rem 1.2rem; }
#news-teaser .nt-pk .nt-bg, #news-teaser .nt-pk.has-img .nt-bg { filter: none; transform: none; }
#news-teaser .nt-pk.has-img .nt-bg { background: var(--img) center / cover no-repeat; }
#news-teaser .nt-bg:after, #news-teaser .nt-pk.has-img .nt-bg:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.78) 100%); transition: background .3s ease; }
#news-teaser .nt-pk:hover .nt-bg:after { background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.88) 100%); }
#news-teaser .nt-pk strong, #news-teaser .nt-pk .nt-txt, #news-teaser .nt-pk .nt-corner, #news-teaser .nt-pk .nt-more { color: #fff !important; text-shadow: none !important; }
#news-teaser .nt-pk .nt-corner { position: absolute !important; top: 1rem; left: 1.2rem; font-size: 1.6rem; opacity: .9; }
#news-teaser .nt-pk .nt-mark { display: none; }
#news-teaser .nt-pk strong { margin: 0 0 0.6rem; font-weight: 700; letter-spacing: 0.08rem; text-transform: uppercase; font-size: 0.95rem; }
#news-teaser .nt-pk .nt-txt { color: rgba(255,255,255,0.85) !important; font-weight: 300; margin-bottom: 1rem; }
#news-teaser .nt-pk .nt-more { margin-top: 0; align-self: flex-start; border-bottom: 1px solid rgba(255,255,255,0.6); padding-bottom: 0.2rem; }

/* Team-Radar-Kachel im Banner: kein Backdrop-Blur mehr (erschien erst nach dem Laden des Hintergrundbilds) */
#banner .content .radar-tile { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background-color: rgba(30,30,30,0.5) !important; }

/* News-Karten ohne Rand */
#news-teaser .nt-pk { border: 0 !important; }
