:root {
	--accessibility: #03122d;
	--orange: #EC6501;
	--gray: #494948;
	--light-gray: #ececed;
	--blau: #00509F;
	--background-color: #fff;
	--text-color: var(--blau);
	--font-size: 14px;
	--black: #000;
}

html {
	scroll-behavior: smooth;
	font-size: var(--font-size);
	font-size: var(--font-size);
}
body {
	font-family: 'Asap', sans-serif;
	background-color: var(--background-color);
	color: var(--text-color);
	transition: all 0.3s ease;
	padding: 0px;	
	border: none !important;
	margin:0;
	line-height: 1.4;
}
body.high-contrast {
	--orange: #ac520a; /* z.B. stärkerer Kontrast, Gold-Gelb */
	--gray: #222;
	--light-gray: #ffffff;
	--blau: #0b003c;	
	--black: var(--blau);
}

body {
}

html.large-font {
	font-size: 1.25rem;
}

html.xlarge-font {
	font-size: 1.5rem;
}

body.high-contrast {
	--background-color: #fff;
	--text-color: var(--black);
}

body.high-contrast .dropdown-menu,
body.high-contrast .head_top .header
	{ background: #fff; }
body.high-contrast .bg-orange {
	background: var(--orange) !important;
}
body.high-contrast .bg-gray {
	background: var(--gray) !important;
}
body.high-contrast .bg-lightgray {
	background: #fff !important;
}


body.high-contrast .nav-collapse ul li .dropdown-menu a:focus,
body.high-contrast .nav-collapse ul li .dropdown-menu a:hover 
	{ background: #444 !important; color: #fff; }

body.high-contrast input.search-query,
body.high-contrast #kontaktformular label,
body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
/* body.high-contrast h6, */
body.high-contrast p,
body.high-contrast span,
body.high-contrast li,
body.high-contrast a {
	color: var(--black);
}

body.high-contrast .search-btn i,
body.high-contrast .bg-gray h1,
body.high-contrast .bg-gray h2,
body.high-contrast .bg-gray h3,
body.high-contrast .bg-gray h4,
body.high-contrast .bg-gray h5,
body.high-contrast .bg-gray h6,
body.high-contrast .bg-gray p,
body.high-contrast .bg-gray span,
body.high-contrast .bg-gray li,
body.high-contrast .bg-gray a, 
body.high-contrast .bg-orange h1,
body.high-contrast .bg-orange h2,
body.high-contrast .bg-orange h3,
body.high-contrast .bg-orange h4,
body.high-contrast .bg-orange h5,
body.high-contrast .bg-orange h6,
body.high-contrast .bg-orange p,
body.high-contrast .bg-orange span,
body.high-contrast .bg-orange li,
body.high-contrast .bg-orange a,
body.high-contrast .text-bg p,
body.high-contrast .text-bg a.bg_1,
body.high-contrast footer p,
body.high-contrast footer a,
body.high-contrast .skip-link,
body.high-contrast .card1 .body p,
body.high-contrast .card-header .btn,
body.high-contrast .text-bg h1,
body.high-contrast .text-bg h2.lead 
{
	color: #fff !important;
}

body.high-contrast img.icon {
  filter: brightness(0) saturate(100%);
}
body.high-contrast .header-1 img.icon,
body.high-contrast .bg-orange img.icon,
body.high-contrast .bg-color img.icon {
  filter: brightness(0) invert(1);
}

body.high-contrast .navigation.navbar-dark .navbar-nav .nav-link {
	border: solid 2px #fff !important;
	padding: 10px 20px 6px; margin-right: .5em;
}
body.high-contrast .search-btn { background: var(--black); }

body.high-contrast .service {
	border: solid 1px var(--black) !important;
}
body.high-contrast .search-btn,
body.high-contrast input.search-query,
body.high-contrast #anfahrtform input,
body.high-contrast #kontaktformular textarea,
body.high-contrast #kontaktformular input,
body.high-contrast .navigation.navbar-dark .navbar-nav .nav-link:focus {
	border: solid 2px var(--black) !important;
}
body.high-contrast .modultitle,
body.high-contrast .kontaktformular,
body.high-contrast .sidebarleft li, 
body.high-contrast .aktuellesmodul li {
	border-bottom: 1px solid var(--black);
}

body.high-contrast .svg-inline path .st0,
body.high-contrast .svg-inline path {
	/* fill: var(--orange); */
}
body.high-contrast #anfahrtform button,
body.high-contrast #kontaktformular button, 
body.high-contrast #kontaktformular input[type="submit"] {
	background: #444
}
body.high-contrast input::placeholder {
  color: #666;
  opacity: 1;
}
body.high-contrast .card-header:hover { background: var(--gray); transition: 1s; }

body.high-contrast .nav-item.active { border-bottom: solid 2px #666; }
body.high-contrast .nav-item .nav-item.active { padding-left: 2rem; border-left: solid 6px #666; border-bottom: none; }
body.high-contrast .nav-item .nav-item.active a { color: #666 !important; }

body.high-contrast .navbar {
	background: #fff;
}
body.high-contrast .nav_bg .navbar {
	border-bottom: solid 2px var(--black);
}
body.high-contrast .nav_bg .navigation.navbar-dark .navbar-nav .nav-link {
	color: var(--black);
}
body.high-contrast .nav_bg .navigation.navbar-dark .navbar-nav .nav-link {
	color: var(--black) !important;
}
body.high-contrast #carousel-b .mehrartikel {
	background-image: none;
	font-size: 1rem;
	line-height: 1;
	color: var(--black);
	border: solid 2px var(--black);
	padding: .5rem 1rem;
	margin-top: .5em;
	display: inline-block
}

body.high-contrast .text-bg h1,
body.high-contrast .text-bg h2.lead {
	text-shadow: 5px 5px 0px rgba(0, 0, 0, 1); 
	/* font-family: Arial */
}
body.high-contrast .service .servicenummer {
	border-top: 1px solid var(--blau);
	border-bottom: 1px solid var(--blau);
}
body.high-contrast .nav-collapse ul li a {
	padding: 13px 30px;
	width: 100%;
	height: auto;
	color: var(--black);
	text-decoration: none;
	display: inline-block;
	border: 1px solid var(--black) !important;
	background: #fff;
	letter-spacing: .05em;
	font-weight: normal;
	text-shadow: none !important;
}
body.high-contrast .nav-collapse ul li ul li a {
	font-size: 1.2rem;
	font-weight: normal;
}
body.high-contrast .nav-collapse ul li a.active,
body.high-contrast .nav-collapse ul li a:hover {
	background:#444;
	color:#fff !important;
}
body.high-contrast .dropdown-menu > .active > a {
	padding-left: 2em;
	background: #222;
	color: #fff;
}
body.high-contrast #footer_top {
	background-color: #333;
}
body.high-contrast #footer_bottom {
	background-color: var(--black);
}







.large-font #logo_small { right: 1%; }

.large-font .accessibility-panel { width: 300px; max-width: 100% }
.xlarge-font .accessibility-panel { width: 360px; }

.large-font .nav-collapse ul li ul li a {
	font-size: 1rem;
	line-height: 1.5;
}
.large-font header
	{ height: auto; }

.large-font #carousel-b {
	height: auto; li
}

.large-font #carousel-b p,
.large-font #carousel-b h1{
	line-height: 1.2;
}
.large-font table td:nth-child(2) {
  text-align: right;
}

.large-font .contenttop { margin-bottom: 3em; }
.large-font #carousel-b table img { max-height: 7rem; margin-bottom: 2em; }
.large-font #carousel-b .aktuelles_img {
	height: 200px;
	width: 100%;
	float: inherit;
	padding-right: 0;
}
.large-font #carousel-b .aktuelles_text {
	width: 100%;
	float: inherit;
	padding-right: 2em;
	margin-bottom: 2em;
}
.large-font #carousel-b table td { text-align: left; }

.aktuelles_text { text-align: left; }

@media (max-width: 768px) {
	body.high-contrast .navigation.navbar-dark .navbar-nav .nav-link {
		border: none !important; 
		border-bottom: solid 2px #fff !important; 
		padding: 10px 20px 6px;
		margin-right: .5em;
	}
	body.high-contrast .navbar-collapse { background: #fff; }
}




/* * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * */
/*  TOOL CONTAINER for barriere switch */
.skip-link {
	position: absolute;
	left: -999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100;
	letter-spacing: .05em;
	z-index: 99999;
}

.skip-link:focus {
	position: absolute;
	left: 10px;
	top: 10px;
	width: auto;
	height: auto;
	background: var(--accessibility);
	color: #fff;
	padding: 8px 16px;
	border-radius: 6px;
	text-decoration: none;
	/* font-weight: bold; */
}

.accessibility-panel .HL {
	background: var(--accessibility);
	color: #fff !important;
	font-size: 1rem;
	width: 100%;
	padding: 12px 16px;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	margin-bottom: 1em;
}

.accessibility-panel {
	position: fixed;
	top: 230px;
	right: 15px;
	z-index: 9999;
	background: #fff;
	border: none;
	color: var(--black);
	border-radius: 12px;
	box-shadow: 0 8px 12px rgba(0,0,0,0.5);
	width: 260px;
	display: none;
	background: #ddd;
	padding-bottom: 1rem;
}
.accessibility-panel select {
	width: 48%; display: inline-block; height: auto;
}
.accessibility-panel label,
.accessibility-panel p,
.accessibility-panel div
 { font-size: 1rem; }
.settings-button {
	position: fixed;
	top: 150px;
	right: 15px;
	z-index: 10000;
	font-size: 1.8rem;
	background: var(--accessibility);
	color: white;
	border: none;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	cursor: pointer;
}

.setting-item {
	margin: 3px 12px;
	background: #fff;
	border-radius: 8px;
}
.setting-item.sh,
.setting-item-inner {
	padding: 8px 12px;	
}
.setting-item label {
	display: inline-block;
	width: 50%; margin: 0; line-height: 1rem;
}
.setting-item label.breit {
	width: 75%;
}
.setting-item select {
	border: none; line-height: 1rem; font-size: 1rem; margin: 0;
}
.setting-item input { margin: 0; }
.setting-item select:focus-visible,
.setting-item input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--accessibility);
	outline-offset: 3px;
	border-radius: 4px;
	background: #eef5fa;
}

.setting-item a {
	padding: 8px 12px;	
	display: block;
	border-radius: 8px;
	color: var(--black);
}
.setting-item a:focus,
.setting-item a:focus-visible {
	background-color: var(--accessibility);
	color: #fff !important;
}

.settings-button {
	display: inline-flex;
	align-items: center;
	background: var(--accessibility);         /* dunkles Blau, anpassbar */
	color: #fff;
	border: none;
	border-radius: 1.5em;
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
	outline: none;
	box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

.settings-button:focus,
.settings-button:hover {
	background: var(--accessibility);
	box-shadow: 0 0 0 3px #80c7ff;
}

/* Das Bild anpassen, falls nötig: */
.settings-button img {
	width: 2em;
	height: 2em;
	object-fit: contain;
	margin-right: 0.5em;
	display: block;
}

/* Visually hidden für Screenreader-Text */
.visually-hidden {
	position: absolute !important;
	height: 1px; width: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
	border: 0;
	padding: 0; margin: -1px;
}

.visually-hidden {
	position: absolute !important;
	height: 1px; width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
@media (max-width: 992px) {
	.accessibility-panel {
		top: inherit;
		bottom: 120px;
		left: 15px;
		max-width: 95%;
	}
	.settings-button {
		position: fixed;
		top: inherit;
		bottom: 20px;
	}
	.nav-collapse.in.collapse {
		height: 100vh;
	}
	.nav-collapse .dropdown-menu a {
		border:1px solid var(--orange) !important;		
	}
}