@layer vendor {

	.cookiedialog__backbutton:focus, .cookiedialog__text a:focus, .cookiedialog__confirmation:focus, :focus ~ .cookiedialog__toggleview {
		box-shadow: 0 0 0 2px #fff, 0 0 0 5px #5aaaff;
   }
	.cookiedialog {
		all: initial;
		position: fixed;
		display: none;
		font-family: var(--noto);
		color: #000;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1050;
   }
   .kekshinweis {
		display: none;
   }
	.cookiedialog--open {
		display: flex;
		& + * + .kekshinweis {
			position: fixed;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.5);
			color: white;
			display: flex;
			justify-content: center;
			align-items: center;
			text-align: center;
			padding: 2rem;
			text-wrap: balance;
			font-size: 1.5rem;
			backdrop-filter: blur(3px);
			z-index: 1051;
			p {
				max-width: 20rem;
				margin: 0 auto;
			}
		}
   }
	.cookiedialog::backdrop {
		background: transparent;
   }
	.cookiedialog *, .cookiedialog *::before, .cookiedialog *::after {
		all: initial;
		box-sizing: border-box;
		user-select: inherit;
		font: inherit;
		letter-spacing: inherit;
		text-transform: inherit;
		color: inherit;
		cursor: inherit;
   }
	.cookiedialog__window {
		display: flex;
		flex-direction: column;
		max-width: 720px;
		width: 90vw;
		max-height: 720px;
		max-height: calc(min(720px, 94%));
		background-color: #fff;
		border-radius: 4px;
		box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2), 0 8px 96px rgba(0, 0, 0, 0.4);
		margin: auto;
   }
	@media (max-width: 768px) {
		.cookiedialog__window {
			max-width: calc(100vw - 12px);
			position: relative;
	   }
   }
	.cookiedialog__header {
		position: relative;
		display: block;
		flex-shrink: 0;
		padding: 24px 12px;
		border-bottom: 1px solid #ccc;
   }
	.cookiedialog__backbutton {
		font-size: 1.2em;
		position: absolute;
		color: #555;
		height: 24px;
		top: 25px;
		left: 32px;
		cursor: pointer;
		z-index: 1;
		transition: opacity 250ms;
   }
	.cookiedialog__backbutton:hover {
		opacity: 0.7;
   }
	.cookiedialog__backbutton:active {
		opacity: 0.4;
		transition: none;
   }
	@media (max-width: 768px) {
		.cookiedialog__backbutton {
			top: 19px;
			left: 20px;
	   }
   }
	@media (max-width: 640px) {
		.cookiedialog__backbutton {
			text-indent: -99999px;
			width: 12px;
	   }
   }
	.cookiedialog__backbutton--hidden {
		display: none;
   }
	.cookiedialog__backbutton::after {
		position: absolute;
		content: '';
		top: -16px;
		right: -16px;
		bottom: -16px;
		left: -16px;
		z-index: -1;
   }
	.cookiedialog__backbutton::before {
		display: inline-block;
		content: '';
		width: 12px;
		height: 18px;
		background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxNSAyNCIgdmVyc2lvbj0iMS4xIj48cGF0aCBkPSJNNC44MyAxMS43bDkgOSAtMi4xMiAyLjEyIC0xMS4xMi0xMS4xMiAxMS4xMi0xMS4xMiAyLjEyIDIuMTIgLTkgOVoiIGZpbGw9IiM1NTUiLz48L3N2Zz4=) 0 0 no-repeat;
		vertical-align: -10%;
   }
	@media (max-width: 640px) {
		.cookiedialog__backbutton::before {
			position: absolute;
			left: 0;
	   }
   }
	.cookiedialog__logo {
		display: block;
		width: auto;
		height: 48px;
		margin-right: auto;
		margin-left: auto;
   }
	@media (max-width: 768px) {
		.cookiedialog__logo {
			height: 36px;
	   }
   }
	.cookiedialog__titletext {
		display: block;
		font-size: 1.5em;
		text-align: center;
   }
	.cookiedialog__body {
		display: block;
		padding: 24px 32px;
		background: linear-gradient(to top, #f8f8f8, #fdfdfd) 0 100% / 100% 15% no-repeat #fdfdfd;
		overflow-y: auto;
   }
	@media (max-width: 768px) {
		.cookiedialog__body {
			padding: 20px;
			border-radius: 0 0 4px 4px;
	   }
   }
	.cookiedialog__page {
		display: none;
   }
	.cookiedialog__page--active {
		display: block;
   }
	.cookiedialog__heading {
		display: block;
		font-weight: 700;
		font-size: 2em;
		line-height: 1.1;
		text-align: center;
		margin-bottom: 20px;
   }
	@media (max-width: 768px) {
		.cookiedialog__heading {
			font-size: 1.65em;
			margin-bottom: 16px;
	   }
   }
	.cookiedialog__info {
		display: block;
		margin-bottom: 2em;
   }
	.cookiedialog__text {
		display: block;
		line-height: 1.4;
   }
	@media (max-width: 768px) {
		.cookiedialog__text {
			line-height: 1.2;
			hyphens: auto;
	   }
   }
	.cookiedialog__text--secondary {
		font-size: 0.9em;
		color: #555;
   }
	.cookiedialog__text:empty {
		height: 720px;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08) 60%, transparent 60%) 0 0 / 1px 40px;
		animation: cookie-dialog-loading 1000ms cubic-bezier(0.5, 0, 0.5, 1) infinite alternate;
   }
	.cookiedialog__text h1, .cookiedialog__text h2, .cookiedialog__text h3, .cookiedialog__text h4, .cookiedialog__text h5, .cookiedialog__text h6 {
		display: block;
		font-weight: 700;
		line-height: 1.2;
		margin-top: 2em;
   }
	.cookiedialog__text p, .cookiedialog__text ul, .cookiedialog__text ol, .cookiedialog__text blockquote, .cookiedialog__text pre {
		display: block;
   }
	.cookiedialog__text p, .cookiedialog__text li {
		margin-top: 1em;
		margin-bottom: 1em;
   }
	.cookiedialog__text b, .cookiedialog__text strong {
		font-weight: 700;
   }
	.cookiedialog__text i, .cookiedialog__text em {
		font-style: italic;
   }
	.cookiedialog__text a {
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 3px;
   }
	.cookiedialog__submit {
		position: sticky;
		display: flex;
		margin: 28px auto;
		top: -20px;
		bottom: -20px;
   }
	@media (max-width: 768px) {
		.cookiedialog__submit {
			flex-direction: column-reverse;
			width: calc(100% + 40px);
			padding: 8px 20px 12px 20px;
			background: linear-gradient(to bottom, #f7f7f7, #fdfdfd 70%, rgba(253, 253, 253, 0)) 20px 0 / calc(100% - 40px) 100% no-repeat;
			border-top: 1px solid #ccc;
			border-radius: 0 0 4px 4px;
			box-shadow: 0 -8px 8px -4px rgba(0, 0, 0, 0.03);
			overflow: hidden;
			margin-bottom: 8px;
			margin-left: -20px;
			top: auto;
			bottom: -20px;
	   }
   }
	.cookiedialog__confirmation {
		display: inline-block;
		font-variant: all-small-caps;
		font-weight: 700;
		letter-spacing: 0.02em;
		font-size: 1.125rem;
		text-align: center;
		width: fit-content;
		color: black;
		flex: 1;
		padding: 0.5rem 0.5rem 0.7rem 0.5rem;
		border: 2px solid black;
		cursor: pointer;
		transition: background-color 150ms;
   }
	.cookiedialog__confirmation:hover {
		background-color: #ffb326;
   }
	.cookiedialog__confirmation:active {
		background: linear-gradient(to bottom, #d48900, #d98c00) orange;
		transition: none;
   }
	.cookiedialog__confirmation + .cookiedialog__confirmation {
		margin-left: 8px;
   }
	@media (max-width: 768px) {
		.cookiedialog__confirmation + .cookiedialog__confirmation {
			margin-bottom: 6px;
			margin-left: 0;
	   }
   }
	@media (max-width: 768px) {
		.cookiedialog__confirmation {
			display: block;
			font-size: 1.125em;
			width: 100%;
			padding: 0.5em 0.5em;
	   }
   }
	.cookiedialog__toggles {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 28px;
		margin-bottom: 28px;
   }
	@media (max-width: 768px) {
		.cookiedialog__toggles {
			margin-top: 12px;
			margin-bottom: 12px;
	   }
   }
	.cookiedialog__toggle {
		user-select: none;
		min-width: 150px;
		padding-top: 6px;
		padding-bottom: 6px;
   }
	@media all and (max-width: 750px) {
		.cookiedialog__toggle--count4 {
			min-width: 130px;
	   }
   }
	@media all and (max-width: 640px) {
		.cookiedialog__toggle--count4 {
			flex: 1;
			min-width: 50%;
	   }
   }
	@media all and (max-width: 560px) and (min-width: 372px) {
		.cookiedialog__toggle--count3 {
			font-size: 0.9em;
			flex: 1;
			min-width: 0;
	   }
   }
	.cookiedialog__toggleinput {
		
		position: absolute;
		height: 1px;
		width: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		
   }
	.cookiedialog__toggleview {
		position: relative;
		display: block;
		color: transparent;
		text-indent: -99999px;
		width: 68px;
		height: 32px;
		background-color: #777;
		border-radius: 16px;
		overflow: hidden;
		margin-right: auto;
		margin-bottom: 8px;
		margin-left: auto;
		cursor: pointer;
		transition: background-color 250ms;
   }
	:checked ~ .cookiedialog__toggleview {
		background-color: #4ba41e;
   }
	.cookiedialog__toggleview::before {
		position: absolute;
		color: #fff;
		font: 15px system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
		text-align: center;
		content: 'Aus';
		width: 30px;
		top: 6px;
		left: 32px;
		animation: cookie-dialog-toggle-off 250ms forwards;
   }
	:checked ~ .cookiedialog__toggleview::before {
		content: 'Ein';
		animation: cookie-dialog-toggle-on 250ms forwards;
		left: 8px;
   }
	.cookiedialog__toggleview::after {
		position: absolute;
		display: block;
		content: '';
		width: 26px;
		height: 26px;
		background-color: #fff;
		border-radius: 50%;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
		top: 3px;
		left: 3px;
		transition: transform 250ms;
   }
	:checked ~ .cookiedialog__toggleview::after {
		background-color: #fff;
		transform: translateX(36px);
   }
	.cookiedialog__toggleview--required {
		cursor: default;
   }
	.cookiedialog__toggleview--required::after {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMCAzMiIgdmVyc2lvbj0iMS4xIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNMTcgMTlsMC0xMC45OGMwLTQuMjItMy4xMy03LjAyLTctNy4wMiAtMy44NyAwLTcgMi44LTcgNy4wMmwwIDEwLjk4IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iIzM4MSIvPjxwYXRoIGQ9Ik0yMCAxNGwtMjAgMCAwIDE4IDIwIDAgMC0xOFptLTEwLjY1IDguOTFjLTEuMDctMC4yOS0xLjg1LTEuMjYtMS44NS0yLjQxIDAtMS4zOCAxLjEyLTIuNSAyLjUtMi41IDEuMzggMCAyLjUgMS4xMiAyLjUgMi41IDAgMS4xNi0wLjc5IDIuMTMtMS44NSAyLjQybDEuMTMgNS4wOSAtMy41NiAwIDEuMTMtNS4wOFoiIGZpbGw9IiMzODEiLz48L3N2Zz4=);
		background-position: 50% 50%;
		background-size: 10px 16px;
		background-repeat: no-repeat;
   }
	.cookiedialog__toggleview--unavailable {
		background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgdmVyc2lvbj0iMS4xIj48cGF0aCBkPSJNMTEuNTYgOS40NGw5LjQ0LTkuNDQgMi4xMiAyLjEyIC05LjQ0IDkuNDQgOS40NCA5LjQ0IC0yLjEyIDIuMTIgLTkuNDQtOS40NCAtOS40NCA5LjQ0IC0yLjEyLTIuMTIgOS40NC05LjQ0IC05LjQ0LTkuNDQgMi4xMi0yLjEyIDkuNDQgOS40NFoiIGZpbGw9IiM3NzciLz48L3N2Zz4=) 36px 50% / 16px 16px no-repeat #ddd;
		cursor: default;
   }
	.cookiedialog__toggleview--unavailable::before {
		content: '';
		animation: none;
   }
	.cookiedialog__toggleview--unavailable::after {
		background-color: #f9f9f9;
		box-shadow: none;
   }
	.cookiedialog__togglelabel {
		display: block;
		max-width: 8em;
		text-align: center;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 2em;
   }
	.cookiedialog__datasheet {
		display: block;
		max-width: fit-content;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 2em;
   }
	.cookiedialog__datasheettitle {
		display: block;
		font-size: 1.2em;
		text-align: center;
		margin-top: 3em;
		margin-bottom: 1em;
   }
	.cookiedialog__datasheetsection {
		display: block;
		margin-top: 1.5em;
		margin-bottom: 0.5em;
   }
	.cookiedialog__table {
		display: table;
		border-collapse: collapse;
   }
	.cookiedialog__table thead {
		display: table-header-group;
   }
	.cookiedialog__table tbody {
		display: table-row-group;
   }
	.cookiedialog__table tr {
		display: table-row;
   }
	.cookiedialog__table th, .cookiedialog__table td {
		display: table-cell;
		padding: 6px 10px;
		background-color: #fafafa;
		border: 1px solid #ccc;
   }
	@media (max-width: 480px) {
		.cookiedialog__table th, .cookiedialog__table td {
			padding: 3px 4px;
	   }
   }
	.cookiedialog__table th {
		font-size: 0.8em;
		text-transform: uppercase;
		letter-spacing: 0.075em;
		background-color: #fefefe;
   }
	@media (max-width: 480px) {
		.cookiedialog__table th {
			font-size: 0.75em;
	   }
   }
	@media (max-width: 480px) {
		.cookiedialog__table td {
			font-size: 0.9em;
	   }
   }
	.cookiedialog__numeric {
		font-variant-numeric: tabular-nums;
		text-align: right;
   }
	.cookiedialog__tag {
		font-style: italic;
   }
	@media (min-width: 768px) {
		.cookiedialog__shortform {
			display: none;
	   }
   }
	@media (max-width: 768px) {
		.cookiedialog__longform {
			display: none;
	   }
   }
	.cookiedialog__footer {
		display: flex;
		flex-wrap: wrap;
		flex-shrink: 0;
		border-top: 1px solid #ccc;
		border-radius: 0 0 4px 4px;
		overflow: hidden;
   }
	@media (max-width: 768px) {
		.cookiedialog__footer {
			margin-top: 20px;
			margin-right: -20px;
			margin-bottom: -20px;
			margin-left: -20px;
	   }
   }
	.cookiedialog__pagelink {
		display: block;
		padding: 24px 32px;
		cursor: pointer;
   }
	.cookiedialog__pagelink:focus, .cookiedialog__pagelink:hover {
		background-color: #eee;
   }
	.cookiedialog__pagelink:active {
		background-color: #ddd;
   }
	@media (max-width: 768px) {
		.cookiedialog__pagelink {
			width: 100%;
			padding: 8px 20px;
			background-color: #fff;
	   }
		.cookiedialog__pagelink + .cookiedialog__pagelink {
			border-top: 1px solid #ccc;
	   }
   }
	.cookiedialog__pagelink--info {
		margin-left: auto;
   }
	
}

