/* MARK: =custom properties
--------------------------------------------------------------- */
:root {
	interpolate-size: allow-keywords;

	--shadow-xs: 0 0.1px 0.3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.12);
	--shadow-sm: 0 0.3px 0.4px rgba(0, 0, 0, 0.025), 0 0.9px 1.5px rgba(0, 0, 0, 0.05), 0 3.5px 6px rgba(0, 0, 0, 0.1);
	--shadow-md: 0 0.9px 1.5px rgba(0, 0, 0, 0.03), 0 3.1px 5.5px rgba(0, 0, 0, 0.08), 0 14px 25px rgba(0, 0, 0, 0.12);
	--shadow-lg: 0 1.2px 1.9px -1px rgba(0, 0, 0, 0.014), 0 3.3px 5.3px -1px rgba(0, 0, 0, 0.038), 0 8.5px 12.7px -1px rgba(0, 0, 0, 0.085), 0 30px 42px -1px rgba(0, 0, 0, 0.15);
	--shadow-xl: 0 1.5px 2.1px -6px rgba(0, 0, 0, 0.012), 0 3.6px 5.2px -6px rgba(0, 0, 0, 0.035), 0 7.3px 10.6px -6px rgba(0, 0, 0, 0.07), 0 16.2px 21.9px -6px rgba(0, 0, 0, 0.117), 0 46px 60px -6px rgba(0, 0, 0, 0.2);

	--clr-primary: #464646;
	--clr-primary-dark: #2a2a2a;
	--clr-secondary: #b4b3b3;
	--clr-secondary-dark: #414141;

	--clr-neutral-100: hsl(0deg 0% 100%);
	--clr-neutral-200: #E9E7E1;
	--clr-neutral-300: #BDBAAF;
	--clr-neutral-400: #A09D91;
	--clr-neutral-500: #666254;
	--clr-neutral-800: #1D1C16;
	--clr-neutral-900: #000000;

	--fontsize-200: 1.2rem;
	--fontsize-300: 1.4rem;
	--fontsize-400: clamp(1.6rem, 1.457rem + 0.286vw, 1.8rem); /* https://chrisburnell.com/clamp-calculator/?font-size-root=10&size-min=16&size-max=18&viewport-min=500&viewport-max=1200&viewport-units=vw */
	--fontsize-600: clamp(1.8rem, 1.443rem + 0.714vw, 2.3rem); /* https://chrisburnell.com/clamp-calculator/?font-size-root=10&size-min=18&size-max=23&viewport-min=500&viewport-max=1200&viewport-units=vw */
	--fontsize-700: clamp(2rem, 1.429rem + 1.143vw, 2.8rem);
	--fontsize-800: clamp(2.5rem, 1.786rem + 1.429vw, 3.5rem);
	/* --fontsize-800: clamp(3rem, 2rem + 2vw, 4.4rem); */
	--fontsize-900: clamp(3.6rem, 2.243rem + 2.714vw, 5.5rem);

	--radius-sm: .1875em;
	--radius-md: .25em;
	--radius-xl: 100vw;

	accent-color: var(--clr-primary);

	/* Layout ------------------------------*/
	--layout-width-body: 1920px;
	--layout-width-max: 1410px;
	--layout-width-responsive: 90%;
	--layout-grid-gutter: 30px;
	--layout-grid-gutter-half: 15px;
	--layout-grid-gutter-neg: calc(var(--layout-grid-gutter-half) * -1);
	
}

/* MARK: =basics
--------------------------------------------------------------- */
*,
*::before,
*::after,
input[type="search"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 62.5%; /* 10/16 */
	font-smooth: auto;
	-webkit-font-smoothing: antialiased;
}
body {
	font: var(--fontsize-400)/1.5 "Figtree", sans-serif;
	position: relative;
	color: var(--clr-neutral-100);
	background: var(--clr-primary-dark);
}
h1, h2, h3, h4, h5, h6, caption,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight: 600;
	margin: 0 0 0.75em;
	line-height: 1.2;
	text-wrap: pretty;
}
h1, .h1 {
	font-size: var(--fontsize-900);
}
h2, caption, .h2 {
	margin-block-start: 2em;
	font-size: var(--fontsize-800);
}
h3, .h3 {
	margin-block-start: 1.5em;
	font-size: var(--fontsize-700);
}
h4, .h4 {
	font-size: var(--fontsize-600);
}
h5, .h5 {
	margin-block-end: 0.4em;
	font-size: var(--fontsize-400);
}
h6, .h6 {
	margin-block-end: 0.3em;
	font-size: var(--fontsize-400);
}
p, ul, ol, dl, pre, fieldset, figure, address, 
.p, .flex-search, .mb, .mod-wrapper, [data-oembed-url], .row, .grid {
	margin: 0 0 1.5em;
}
audio, blockquote, details, figure, iframe, table, video,
.accordion, .box, .img-default, .mb-2x, .media-responsive, .table-responsive {
	margin: 3em 0;
}
* > *:where(:first-child):not(summary) {
	margin-block-start: 0;
}
figure > .img-default,
.media-responsive > iframe,
.table-responsive > table {
	margin: 0;
}
p {}
.p {
	font-size: var(--fontsize-400);
	font-weight: normal;
}
main :where(p, blockquote) {
	hanging-punctuation: first;
}
li ul, li ol {
	margin: 0;
}
ul, ol {
	padding-inline-start: 0;
}
ul {
	list-style: outside disc;
}
ol {
	list-style-position: outside;
}
ol ol, ul ul {
	margin-block-end: 0;
}
li {
	margin: 0 0 0 1.5em;
}
ol ol li, ul ul li {
	margin: 0 0 0 3em;
}
li + li, ul ul li, ol ol li,
ul ol li, ol ul li  {
	margin-block-start: 0.25em;
}
dt {
	font-weight: bold;
}
dd {
	padding-inline-start: 1.5em;
}
abbr[title] {
	cursor: help;
}
hr {
	clear: both;
	height: 1px;
	margin: 1.5em 0;
	border: 0;
	color: #666;
	background-color: #666;
}
img, embed, object, video {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
video, audio {
	display: block;
}
figure,
.img-default {
	margin: 3em 0;
}
figcaption {
	margin-block-start: 0.75em;
	font-style: italic;
	font-size: var(--fontsize-400);
}
blockquote {
	font-size: var(--fontsize-600);
	color: var(--clr-neutral-primary);
	padding: 0 1.5em;
	font-style: italic;
}
address {}
cite {}
tt, code, kbd, samp, pre,
.monospace {
	font-family: "Courier New", Courier, monospace;
}
kbd {
	border-style: solid;
	border-width: 1px 2px 2px 1px;
	padding: 0 2px;
	border-radius: var(--radius-sm);
	background-color: #f6f4f3;
}
small, .small,
label.error,
.asset-meta,
.cookie-alert,
.form-hint, .form-hint-complex,
.tag {
	font-size: var(--fontsize-300);
}
strong, b,
.strong, .lead {
	font-weight: bold;
}
iframe {
	aspect-ratio: var(--aspect-ratio, 16 / 9);
	display: block;
	margin: 3em 0;
	border: 0;
	padding: 0;
	width: 100%;
	height: auto;
}
iframe[src^="https://www.google.com/maps"],
iframe[src^="https://www.google.ch/maps"] {
	--aspect-ratio: 1 / 1;
}
.grecaptcha-logo iframe { /* Google reCAPTCHA-Badge */
	aspect-ratio: auto;
	margin: 0;
}

details::details-content {
	overflow: hidden;
	block-size: 0;
	transition-property: block-size, content-visibility;
	transition-duration: 0.2s;
	transition-behavior: allow-discrete;
}
details[open]::details-content {
	block-size: auto;
	block-size: calc-size(auto, size);
}
summary {
	display: flex;
	align-items: baseline;
	cursor: pointer;
	margin: -1.5em;
	padding: 1.5em;
	overflow: hidden;
	font-weight: bold;
}
summary::-webkit-details-marker,
summary::marker {
	display: none;
}
summary:focus-visible {
	position: relative;
	z-index: 1;
}
summary::before {
	content: "";
	position: relative;
	flex: 0 0 auto;
	inset-block-start: 0.2em;
	width: 1em;
	height: 1em;
	margin-inline-end: .5em;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00NDEuOSAxNjcuM2wtMTkuOC0xOS44Yy00LjctNC43LTEyLjMtNC43LTE3IDBMMjI0IDMyOC4yIDQyLjkgMTQ3LjVjLTQuNy00LjctMTIuMy00LjctMTcgMEw2LjEgMTY3LjNjLTQuNyA0LjctNC43IDEyLjMgMCAxN2wyMDkuNCAyMDkuNGM0LjcgNC43IDEyLjMgNC43IDE3IDBsMjA5LjQtMjA5LjRjNC43LTQuNyA0LjctMTIuMyAwLTE3eiI+PC9wYXRoPjwvc3ZnPg==');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: .75em .86em;
	transform: rotate(-90deg);
	transition: transform .2s;
}
details[open] summary::before {
	transform: rotate(0);
}
summary > * {
	display: inline;
	margin-block-end: 0;
}
summary + * {
	margin-block-start: 1.5em;
}

details[name]:has(+ details[name]) {
	margin-block-end: 0;
}
details[name]:has(+ details[name]) + details[name] {
	margin-block-start: 0;
	border-block-start: 0;
}

button[popovertarget] {
	border: 0;
	padding: 0;
}
dialog, 
[popover] {
	border: 0;
	padding: 1.5em;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
}
:is(dialog, [popover])::backdrop {
	background-color: rgba(0,0,0,.4);
}

.optimale-zeilenlaenge {
	color: #ee0000; /* Zeichen von 45-75 werden rot hervorgehoben. Kann in Produktivumgebung gelöscht werden. */
}

/* MARK: =links
--------------------------------------------------------------- */
a {
	color: var(--clr-neutral-200);
	text-decoration: underline;
}
a:visited {
	color: var(--clr-neutral-400);
}
a:focus, a:hover, a:active {
	
}
:focus:not(:focus-visible) {
	outline: none;
}
a img {
	border: none;
}

[id], mark.highlight {
	scroll-margin-block-start: 2ex;
}

/* =skiplinks
--------------------------------------------------------------- */
.skiplinks__link {
	position: absolute;
	inset-block-start: -9999px;
	inset-inline-start: 1.5em;
	z-index: 10;
	padding: 0.5em 1em;
	text-decoration: none;
	color: var(--clr-neutral-100);
	background-color: var(--clr-neutral-900);
}
.skiplinks__link:is(:focus, :active) {
	inset-block-start: 1.5em;
	color: var(--clr-neutral-100);
}

/* MARK: =doc-anchors font-awesome
--------------------------------------------------------------- */
[href^="https:"]::after, [href^="http:"]::after,
.show-icon[href^="/"]::after, .document-lst::after,
[href$=".csv" i]::before, [href*=".csv?" i]::before, [href*=".csv/" i]::before,
[href$=".doc" i]::before, [href*=".doc?" i]::before, [href*=".doc/" i]::before,
[href$=".docx" i]::before, [href*=".docx?" i]::before, [href*=".docx/" i]::before,
[href$=".dotx" i]::before, [href*=".dotx?" i]::before, [href*=".dotx/" i]::before,
[href$=".docm" i]::before, [href*=".docm?" i]::before, [href*=".docm/" i]::before,
[href$=".dot" i]::before, [href*=".dot?" i]::before, [href*=".dot/" i]::before,
[href$=".jpg" i]::before, [href*=".jpg?" i]::before, [href*=".jpg/" i]::before,
[href$=".jpeg" i]::before, [href*=".jpeg?" i]::before, [href*=".jpeg/" i]::before,
[href$=".gif" i]::before, [href*=".gif?" i]::before, [href*=".gif/" i]::before,
[href$=".eps" i]::before, [href*=".eps?" i]::before, [href*=".eps/" i]::before,
[href$=".mp3" i]::before, [href*=".mp3?" i]::before, [href*=".mp3/" i]::before,
[href$=".mp4" i]::before, [href*=".mp4?" i]::before, [href*=".mp4/" i]::before,
[href$=".pdf" i]::before, [href*=".pdf?" i]::before, [href*=".pdf/" i]::before,
[href$=".png" i]::before, [href*=".png?" i]::before, [href*=".png/" i]::before,
[href$=".potm" i]::before, [href*=".potm?" i]::before, [href*=".potm/" i]::before,
[href$=".potx" i]::before, [href*=".potx?" i]::before, [href*=".potx/" i]::before,
[href$=".pps" i]::before, [href*=".pps?" i]::before, [href*=".pps/" i]::before,
[href$=".ppsm" i]::before, [href*=".ppsm?" i]::before, [href*=".ppsm/" i]::before,
[href$=".ppsx" i]::before, [href*=".ppsx?" i]::before, [href*=".ppsx/" i]::before,
[href$=".ppt" i]::before, [href*=".ppt?" i]::before, [href*=".ppt/" i]::before,
[href$=".pptm" i]::before, [href*=".pptm?" i]::before, [href*=".pptm/" i]::before,
[href$=".pptx" i]::before, [href*=".pptx?" i]::before, [href*=".pptx/" i]::before,
[href$=".psd" i]::before, [href*=".psd? " i]::before, [href*=".psd/ " i]::before,
[href$=".rss" i]::before, [href*=".rss?" i]::before, [href*=".rss/" i]::before,
[href$=".rtf" i]::before, [href*=".rtf?" i]::before, [href*=".rtf/" i]::before,
[href$=".svg" i]::before, [href*=".svg?" i]::before, [href*=".svg/" i]::before,
[href$=".tif" i]::before, [href*=".tif?" i]::before, [href*=".tif/" i]::before,
[href$=".tiff" i]::before, [href*=".tiff?" i]::before, [href*=".tiff/" i]::before,
[href$=".txt" i]::before, [href*=".txt?" i]::before, [href*=".txt/" i]::before,
[href$=".vcf" i]::before, [href*=".vcf?" i]::before, [href*=".vcf/" i]::before,
[href$=".xlam" i]::before, [href*=".xlam?" i]::before, [href*=".xlam/" i]::before,
[href$=".xls" i]::before, [href*=".xls?" i]::before, [href*=".xls/" i]::before,
[href$=".xlt" i]::before, [href*=".xlt?" i]::before, [href*=".xlt/" i]::before,
[href$=".xlsb" i]::before, [href*=".xlsb?" i]::before, [href*=".xlsb/" i]::before,
[href$=".xlsm" i]::before, [href*=".xlsm?" i]::before, [href*=".xlsm/" i]::before,
[href$=".xlsx" i]::before, [href*=".xlsx?" i]::before, [href*=".xlsx/" i]::before,
[href$=".xltm" i]::before, [href*=".xltm?" i]::before, [href*=".xltm/" i]::before,
[href$=".xltx" i]::before, [href*=".xltx?" i]::before, [href*=".xltx/" i]::before,
[href$=".zip" i]::before, [href*=".zip?" i]::before, [href*=".zip/" i]::before,
[href^="mailto\3A"]::before, [data-email-link]::before,
[href^="tel\3A"]::before, [href^="skype\3A"]::before,
[href^="https://www.google.com/maps/"]::before,
[href^="http://www.google.com/maps/"]::before,
[href^="https://maps.google.com/"]::before,
[href^="http://maps.google.com/"]::before,
[href^="https://goo.gl/maps/"]::before,
[href^="https://maps.app.goo.gl/"]::before,
.download-icn::before,
.facebook-icn::before,
.instagram-icn::before,
.linkedin-icn::before,
.twitter-icn::before,
.whatsapp-icn::before,
.xing-icn::before,
.youtube-icn::before {
	display: inline-block;
	padding-inline-end: .25em;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
}
.facebook-icn::before,
.instagram-icn::before,
.linkedin-icn::before,
.twitter-icn::before,
.whatsapp-icn::before,
.xing-icn::before,
.youtube-icn::before {
	font-family: "FontAwesome Brands";
}
[href$=".doc" i]::before, [href*=".doc?" i]::before, [href*=".doc/" i]::before,
[href$=".docm" i]::before, [href*=".docm?" i]::before, [href*=".docm/" i]::before,
[href$=".docx" i]::before, [href*=".docx?" i]::before, [href*=".docx/" i]::before,
[href$=".dot" i]::before, [href*=".dot?" i]::before, [href*=".dot/" i]::before,
[href$=".dotx" i]::before, [href*=".dotx?" i]::before, [href*=".dotx/" i]::before,
[href$=".rtf" i]::before, [href*=".rtf?" i]::before, [href*=".rtf/" i]::before {
	content: "\f1c2";
}
[href$=".pdf" i]::before, [href*=".pdf?" i]::before, [href*=".pdf/" i]::before {
	content: "\f1c1";
}
[href$=".potm" i]::before, [href*=".potm?" i]::before, [href*=".potm/" i]::before,
[href$=".potx" i]::before, [href*=".potx?" i]::before, [href*=".potx/" i]::before,
[href$=".pps" i]::before, [href*=".pps?" i]::before, [href*=".pps/" i]::before,
[href$=".ppsm" i]::before, [href*=".ppsm?" i]::before, [href*=".ppsm/" i]::before,
[href$=".ppsx" i]::before, [href*=".ppsx?" i]::before, [href*=".ppsx/" i]::before,
[href$=".ppt" i]::before, [href*=".ppt?" i]::before, [href*=".ppt/" i]::before,
[href$=".pptm" i]::before, [href*=".pptm?" i]::before, [href*=".pptm/" i]::before,
[href$=".pptx" i]::before, [href*=".pptx?" i]::before, [href*=".pptx/" i]::before {
	content: "\f1c4";
}
[href$=".rss" i]::before, [href*=".rss?" i]::before, [href*=".rss/" i]::before {
	content: "\f09e";
}
[href$=".txt" i]::before, [href*=".txt?" i]::before, [href*=".txt/" i]::before {
	content: "\f15c";
}
[href$=".vcf" i]::before, [href*=".vcf?" i]::before, [href*=".vcf/" i]::before {
	content: "\f2bb";
}
[href$=".csv" i]::before, [href*=".csv?" i]::before, [href*=".csv/" i]::before,
[href$=".xlam" i]::before, [href*=".xlam?" i]::before, [href*=".xlam/" i]::before,
[href$=".xls" i]::before, [href*=".xls?" i]::before, [href*=".xls/" i]::before,
[href$=".xlt" i]::before, [href*=".xlt?" i]::before, [href*=".xlt/" i]::before,
[href$=".xlsb" i]::before, [href*=".xlsb?" i]::before, [href*=".xlsb/" i]::before,
[href$=".xlsm" i]::before, [href*=".xlsm?" i]::before, [href*=".xlsm/" i]::before,
[href$=".xlsx" i]::before, [href*=".xlsx?" i]::before, [href*=".xlsx/" i]::before,
[href$=".xltm" i]::before, [href*=".xltm?" i]::before, [href*=".xltm/" i]::before,
[href$=".xltx" i]::before, [href*=".xltx?" i]::before, [href*=".xltx/" i]::before {
	content: "\f1c3";
}
[href$=".zip" i]::before, [href*=".zip?" i]::before, [href*=".zip/" i]::before {
	content: "\f1c6";
}
[href^="https://www.google.com/maps/"]::before,
[href^="http://www.google.com/maps/"]::before,
[href^="https://maps.google.com/"]::before,
[href^="http://maps.google.com/"]::before,
[href^="https://goo.gl/maps/"]::before,
[href^="https://maps.app.goo.gl/"]::before {
	content: "\f3c5";
}
[href$=".jpg" i]::before, [href*=".jpg?" i]::before, [href*=".jpg/" i]::before,
[href$=".jpeg" i]::before, [href*=".jpeg?" i]::before, [href*=".jpeg/" i]::before,
[href$=".gif" i]::before, [href*=".gif?" i]::before, [href*=".gif/" i]::before,
[href$=".eps" i]::before, [href*=".eps?" i]::before, [href*=".eps/" i]::before,
[href$=".png" i]::before, [href*=".png?" i]::before, [href*=".png/" i]::before,
[href$=".psd" i]::before, [href*=".psd?" i]::before, [href*=".psd/" i]::before,
[href$=".svg" i]::before, [href*=".svg?" i]::before, [href*=".svg/" i]::before,
[href$=".tif" i]::before, [href*=".tif?" i]::before, [href*=".tif/" i]::before,
[href$=".tiff" i]::before, [href*=".tiff?" i]::before, [href*=".tiff/" i]::before {
	content: "\f1c5";
}
[href$=".mp3" i]::before, [href*=".mp3?" i]::before, [href*=".mp3/" i]::before {
	content: "\f1c7";
}
[href$=".mp4" i]::before, [href*=".mp4?" i]::before, [href*=".mp4/" i]::before {
	content: "\f1c8";
}
.download-icn::before {
	content: "\f019";
}
.facebook-icn::before {
	content: "\f082";
}
.instagram-icn::before {
	content: "\f16d";
}
.linkedin-icn::before {
	content: "\f08c";
}
.twitter-icn::before {
	content: "\f081";
}
.whatsapp-icn::before {
	content: "\f232";
}
.xing-icn::before {
	content: "\f169";
}
.youtube-icn::before {
	content: "\f169";
}
[href^="mailto:"]::before,
[data-email-link]::before {
	content: "\f0e0";
}
[href^="tel:"]::before {
	content: "\f095";
}
[href^="skype:"]::before {
	content: "\f17e";
}
[href^="http:"]::after,
[href^="https:"]::after {
	padding-inline-end: 0;
	padding-inline-start: .25em;
	content: "\f08e";
}
[href*=".esm.ch"]::after,
[href*=".everysecondmonday.ch"]::after,
[href*=".backslash.ch"]::after,
[data-email-link]::after,
.no-icon::after, .no-icon::before,
.nav [href]::after,
.subnav [href]::after,
.footer [href]::after,
.mod-dam--gallery a::before {
	content: none;
	padding: 0;
}
.os-url .show-icon[href^="https://intellio-esm.backslash.ch"]::after,
.os-url .show-icon[href^="https://www.esm.ch"]::after,
.os-url .show-icon[href^="https://www.everysecondmonday.ch"]::after,
.show-icon[href^="/"]::after { /* OSM-lst: interne Links mit anderem Icon */
	content: "\f0c1";
}
.document-lst::after { /* OSM-lst: mehrere Files pro Artikel zugewiesen */
	content: "\f0c5";
}

/* =link expanded
--------------------------------------------------------------- */
.link-expanded {
	position: relative;
}
.link-expanded a::after,
a.link-expanded__child::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
}

/* MARK: =forms
--------------------------------------------------------------- */
fieldset {
	clear: both;
	min-width: 0;
	border: 1px solid #666;
	padding: 1.5em;
}
fieldset.reset {
	margin: 0;
	border: 0;
	padding: 0;
	background-color: transparent;
}
legend {
	display: table;
	color: inherit;
	font-weight: bold;
	font-size: var(--fontsize-600);
}
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=file],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
[type=radio],
[type=checkbox],
select,
textarea,
button, [type="button"], [type="reset"], [type="submit"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline-offset: 0;
	border: 1px solid #666;
	padding: 0.25em 0.5em;
	line-height: inherit;
	color: inherit;
	background-color: var(--clr-neutral-100);
	border-radius: var(--radius-sm);
	transition: box-shadow 0.2s;
}

@supports (-ms-ime-align: auto) { /* targets only legacy edge */
	[type=radio],
	[type=checkbox] {
		-webkit-appearance: checkbox;
	}
}

[type=radio],
[type=checkbox] {
	position: relative;
	height: 1.25em;
	width: 1.25em;
	display: inline-block;
	vertical-align: text-bottom;
}
[type=radio] {
	border-radius: 100%;
}

[type=radio]::before,
[type=checkbox]::before,
[type=checkbox]::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	overflow: hidden;
}
[type=radio]::before {
	height: 0;
	width: 0;
}

[type=radio]:checked::before {
	border: 5px solid transparent;
	border-radius: inherit;
	outline-offset: -6px;
	background-color: var(--clr-primary, #000);
}
[type=checkbox]:checked::before,
[type=checkbox]:checked::after {
	border-color: var(--clr-primary, #000);
	border-width: 3px;
	border-block-start: 0;
	border-inline-start: 0;
	height: 80%;
	width: 40%;
	transform: rotate(45deg) translateY(-10%) translateX(-10%);
}
[type=checkbox]:checked::before {
	border-inline-end-style: solid;
}
[type=checkbox]:checked::after {
	border-block-end-style: solid;
}
[dir="rtl"] [type=checkbox]:checked::before {
	border-inline-end: 0;
	border-inline-start: 3px solid var(--clr-primary, #000);
}

textarea {
	min-height: 5em;
	resize: vertical;
	field-sizing: content;
}
select:not([multiple]) {
	display: block;
	padding-inline-end: 1.5em;
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik00NDEuOSAxNjcuM2wtMTkuOC0xOS44Yy00LjctNC43LTEyLjMtNC43LTE3IDBMMjI0IDMyOC4yIDQyLjkgMTQ3LjVjLTQuNy00LjctMTIuMy00LjctMTcgMEw2LjEgMTY3LjNjLTQuNyA0LjctNC43IDEyLjMgMCAxN2wyMDkuNCAyMDkuNGM0LjcgNC43IDEyLjMgNC43IDE3IDBsMjA5LjQtMjA5LjRjNC43LTQuNyA0LjctMTIuMyAwLTE3eiI+PC9wYXRoPjwvc3ZnPg==');
	background-repeat: no-repeat;
	background-position: right .75em top 50%;
	background-size: .75em .86em;
}
[dir="rtl"] select:not([multiple]) {
	background-position: left .75em top 50%;
}
select::-ms-expand { /* Hide arrow icon in IE browsers */
	display: none;
}
::-webkit-date-and-time-value { /* fixes Safari Mobile Bug, where empty date fields colapses */
	min-height: 1.25em;
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}
[type=date]:focus,
[type=datetime]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=file]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=range]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
[type=checkbox]:focus,
[type=radio]:focus,
select:focus,
textarea:focus,
button:focus, [type="button"]:focus, [type="reset"]:focus, [type="submit"]:focus,
summary:focus,
.form-builder__item--toggle [type="checkbox"]:focus ~ .form-builder__toggle::before {
	outline: 3px solid transparent;
	border-color: var(--clr-neutral-900);
	box-shadow: 0 0 0 5px rgba(21, 156, 228, 0.6);
}
summary:focus:not(:focus-visible),
[type=range]:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}
[disabled], [readonly] {
	border-style: dotted;
	cursor: not-allowed;
}
[disabled], [aria-disabled=true] {
	opacity: 0.5;
}
button + button[type=reset] {
	margin-inline-start: 1em;
}

/* MARK: =tables
--------------------------------------------------------------- */
table {
	--_tbl-border-color: var(--clr-neutral-300);
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
caption {
	margin-block-start: 0;
	font-weight: 600;
}
caption, th {
	text-align: start;
}
th,
td {
	vertical-align: top;
	border-color: var(--_tbl-border-color);
	border-block-end-width: 1px;
	border-block-end-style: solid;
	padding: 0.5em 1em;
}
th {
	font-weight: 600;
	border-color: var(--clr-neutral-500);
}
table:not(.calendar, .reset) thead th {
	vertical-align: bottom;
	border-block-end-width: 2px;
	padding: 0.5em 1em; /* Faktor der Schriftgrösse * padding */
	font-size: var(--fontsize-400);
	line-height: 1.3;
}
:is(tbody, tfoot) th {
	border-inline-end-width: 1px;
	border-inline-end-style: solid;
}
tr:first-child :is(th, td) {
	border-block-start-width: 1px;
	border-block-start-style: solid;
}
table:not(.calendar, .reset) thead tr:first-child :is(th, td) {
	border-block-start: 0;
}
table:not(.calendar, .reset) thead ~ tbody tr:last-child :is(th, td) {
	border-block-end-width: 2px;
	border-block-end-style: solid;
}
tfoot tr:first-child td {
	border-block-start-width: 2px;
}
tfoot tr:last-child :is(th, td) {
	border-block-start-width: 2px;
	border-block-end-width: 6px;
	border-block-end-style: double;
	font-weight: 600;
}
table.auto {
	width: auto;
}
table.fixed,
.tbl-fixed {
	table-layout: fixed;
}
th[align="left"], :is(th, td).left {
	float: none;
	text-align: start;
}
th[align="center"], :is(th, td).center {
	text-align: center;
}
th[align="right"], :is(th, td).right,
.tbl-no {
	float: none;
	text-align: end;
}
table.no-pad :is(th, td):first-child {
	padding-inline-start: 0;
}
table.no-pad :is(th, td):last-child {
	padding-inline-end: 0;
}

/* =zebras & hover
--------------------------------------------------------------- */
table.zebra tbody tr:nth-child(even),
ul.zebra > li:nth-child(even) {
	background-color: rgba(0,0,0,0.05);
}
table.hover :is(tbody, tfoot) tr:hover,
ul.hover > li:hover {
	background-color: rgba(0,0,0,0.05);
}

/* =grid-tables
--------------------------------------------------------------- */
.tbl-grid :is(th, td) {
	border-inline-start: 1px solid var(--_tbl-border-color);
}
.tbl-grid :is(th, td):last-child {
	border-inline-end: 1px solid var(--_tbl-border-color);
}

/* =presentation (layout-tables). don't forget role="presentation"
--------------------------------------------------------------- */
table.presentation,
table.presentation th,
table.presentation td,
table.presentation tr:first-child th,
table.presentation tr:first-child td,
table.presentation thead ~ tbody tr:last-child,
table.reset,
table.reset th,
table.reset td,
table.reset tr:first-child th, 
table.reset tr:first-child td,
table.reset thead ~ tbody tr:last-child {
	border: 0;
	padding: 0;
}

/*=responsive tables & media
--------------------------------------------------------------- */
.table-responsive {
	position: relative;
	z-index: 1;
}
.table-responsive > table {
	margin-block-end: 0;
}

.media-responsive {
	position: relative;
	padding-block-end: 56.25%;
	height: 0;
	overflow: hidden;
}
.media-responsive :is(iframe, object, embed),
.editor .media-responsive img.cke_iframe {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 100%;
}

/* =scrollbars
--------------------------------------------------------------- */
pre,
.table-responsive, .visible-scrollbar {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
pre::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar, .visible-scrollbar::-webkit-scrollbar {
	height: 8px;
	width: 8px;
}
pre::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track, .visible-scrollbar::-webkit-scrollbar-track {
	background-color: #f6f4f3;
}
pre::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb, .visible-scrollbar::-webkit-scrollbar-thumb {
	background-color: grey;
	border-radius: 20em;
}
pre::-webkit-scrollbar-thumb:hover,
.table-responsive::-webkit-scrollbar-thumb:hover, .visible-scrollbar::-webkit-scrollbar-thumb:hover {
	background-color: var(--clr-neutral-900, #000);
}

/* MARK: =utility
--------------------------------------------------------------- */
.none, .screenhidden, .printvisible {
	display: none;
}
.block,
.screenvisible, .printhidden {
	display: block;
}
.visuallyhidden,
.invis,
.sr,
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	white-space: nowrap;
	-webkit-clip-path: inset(100%);
	clip-path: inset(100%);
	overflow: hidden;
	background-color: transparent;
}
.nmb {
	margin-block-end: 0;
}
.right, .inline-end	{
	float: right;
	float: inline-end; /* not best support yet  */
}
.left, .inline-start {
	float: left;
	float: inline-start; /* not best support yet  */
}
.clear	{clear: both;}
.clearfix::after,
.cf::after,
.js-accordion-content::after {
	content: "";
	display: table;
	clear: both;
}
.sticky {
	position: -webkit-sticky;
	position: sticky;
	inset-block-start: 0;
}
.alignleft, .align-inline-start,
.alignright, .align-inline-end,
.aligncenter {
	max-width: 50%; /* mit .col-Grid-Breiten harmnonisieren */
	margin: 1.5em; /* mit .col-Grid-Margin harmnonisieren */
}
.alignleft, .align-inline-start {
	float: left;
	float: inline-start; /* not best support yet  */
	margin-block-start: 0;
	margin-inline-start: 0;
}
.aligncenter {
	clear: both;
	display: block;
	margin-inline-start: auto;
	margin-inline-end: auto;
}
.alignright, .align-inline-end {
	float: right;
	float: inline-end; /* not best support yet  */
	margin-block-start: 0;
	margin-inline-end: 0;
}
.crisp {
	image-rendering: crisp-edges;
	image-rendering: pixelated;
}
.reverse {
	display: flex;
	flex-direction: column;
}
.reverse > .reverse__child,
.reverse > .date,
.reverse > .visuallyfirst,
.reverse > .mod-entry-meta {
	order: -1;
}

.reset,
.reset li,
nav ul,
nav ul li {
	list-style: none outside none;
	margin-block-start: 0;
	margin-inline-end: 0;
	margin-inline-start: 0;
	padding: 0;
}
nav ul {
	margin-block-end: 0;
}
.nobr {
	white-space: nowrap;
}
details,
.box {
	clear: both;
	border: 1px solid var(--clr-neutral-200);
	padding-block: 32px;
	padding-inline: 40px;
	background-color: var(--clr-neutral-200);
}
details:not(:empty):not([hidden]),
.box:not(:empty):not([hidden]) {
	display: flow-root;
}

.box--warning,
.cookie-alert {
	border-color: #faebcc;
	color: #85662b;
	background-color: #fcf8e3;
}
.box--success {
	border-color: #d6e9c6;
	color: #337234;
	background-color: #dff0d8;
}
.box--error {
	border-color: #ebccd1;
	color: #a43431;
	background-color: #f2dede;
}
.box--info {
	border-color: #bce8f1;
	color: #216b8b;
	background-color: #d9edf7;
}

blockquote > *:last-child,
details > *:last-child, summary ~ div > *:last-child,
dialog > *:last-child, [popover] > *:last-child,
fieldset > *:last-child,
th > *:last-child, td > *:last-child,
.box > *:last-child,
.row > [class*="col-"] > *:last-child,
.grid > [class*="col-"] > *:last-child,
.lc-reset > *:last-child,
.katabox > *:last-child,
.js-accordion-content > *:last-child,
.faq__content > *:last-child,
.nmb-lastchild > *:last-child,
.mod-entry__content > *:last-child {
	margin-block-end: 0;
}

/* MARK: =buttons
--------------------------------------------------------------- */
.btn, .btn:any-link {
	display: inline-block;
	border: 0;
	padding: .5em 1em;
	color: var(--clr-neutral-100);
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	line-height: inherit;
	background-color: var(--clr-primary);
	border-radius: var(--radius-sm);
	cursor: pointer;
}
.btn:is(:hover, :focus) {
	color: var(--clr-neutral-100);
	text-decoration: none !important;
	background-image: linear-gradient(0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
}
.btn:active {
	box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
}

.btn--small, .btn--small {
  	padding: .1em .5em;
}
.btn[type="reset"],
.btn--secondary, .btn--secondary:any-link {
	background-color: #757575;
}
.btn--invis, .btn--ghost {
	border: 0;
	color: var(--clr-neutral-900);
	background-color: transparent;
}
.btn--ghost {
	border: 1px solid #666;
}
.btn--fullwidth {
	width: 100%;
}
.btn--reject {
	background-color: red;
}
.btn--accept {
	background-color: green;
}

/* =animations
--------------------------------------------------------------- */
@media screen and (prefers-reduced-motion: reduce), (update: slow) {
	html {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
		view-transition-name: none !important;
	}
}

/* MARK: =grid
--------------------------------------------------------------- */
.grid,.row {
	--_column-count: 1;
	--_column-gap: 1.875em; /* 30/16 */
	--_row-gap: 1.5em;
	display: grid;
	grid-template-columns: repeat(var(--_column-count), 1fr);
	column-gap: var(--_column-gap);
	row-gap: var(--_row-gap);
}

@media (min-width: 32.5em) { /* 520/16 */
	.grid,.row {
		--_column-count: 12;
	}
	.grid--auto {
		--_column-min-width: 400px;
		grid-template-columns: repeat(auto-fit, minmax(min(var(--_column-min-width), 100%), 1fr));
	}
	.grid--dense {
		grid-auto-flow: dense;
	}
	.grid--no-gap {
		gap: 0;
	}

	.col-1 {
		grid-column: auto / span 1;
	}
	.col-2 {
		grid-column: span 2;
	}
	.col-3 {
		grid-column: auto / span 3;
	}
	.col-4 {
		grid-column: auto / span 4;
	}
	.col-5 {
		grid-column: auto / span 5;
	}
	.col-6,
	.col-half {
		grid-column: auto / span 6;
	}
	.col-7 {
		grid-column: auto / span 7;
	}
	.col-8 {
		grid-column: auto / span 8;
	}
	.col-9 {
		grid-column: auto / span 9;
	}
	.col-10 {
		grid-column: auto / span 10;
	}
	.col-11 {
		grid-column: auto / span 11;
	}
	.col-12 {
		grid-column: auto / span 12;
	}

	[class*="col-start-"] {
		grid-row-start: 1;
	}
	.col-start-1 {
		grid-column-start: 1;
	}
	.col-start-2 {
		grid-column-start: 2;
	}
	.col-start-3 {
		grid-column-start: 3;
	}
	.col-start-4,
	.col-start-fourth {
		grid-column-start: 4;
	}
	.col-start-5,
	.col-start-third {
		grid-column-start: 5;
	}
	.col-start-6 {
		grid-column-start: 6;
	}
	.col-start-7,
	.col-start-half {
		grid-column-start: 7;
	}
	.col-start-8 {
		grid-column-start: 8;
	}
	.col-start-9,
	.col-start-two-third {
		grid-column-start: 9;
	}
	.col-start-10,
	.col-start-three-fourths {
		grid-column-start: 10;
	}
	.col-start-11 {
		grid-column-start: 11;
	}
	.col-start-12 {
		grid-column-start: 12;
	}

	.col-fullwith {
		grid-column: 1 / -1;
	}
}

/* MARK: =editor (backend)
--------------------------------------------------------------- */
.editor .accordion {
	position: relative;
	border: 1px dotted red;
}
.editor .accordion::before {
	content: 'Akkordeon';
	position: absolute;
	inset-block-start: 0;
	inset-inline-end: 0;
	padding: 3px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
	background-color: red;
}
.editor .accordion > *:is(h2, h3, h4, h5, h6),
.editor div.cke_widget_GovisDetail {
	clear: both;
}
.editor img.cke_iframe {
	aspect-ratio: 16 / 9;
	width: 100% !important;
	height: auto !important;
}