/* ================================= */
/* Farben */

:root {
  --gruen: #09783B;
  --dunkelgruen: #053324;
  --frame-link-color: var(--gruen); 
}


/* ============================= */
/* Schriften */
/* Regular */
@font-face {
  font-family: 'Roboto-Regular';
  src: url('../Fonts/Roboto-Regular.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Medium */
@font-face {
  font-family: 'Roboto-Medium';
  src: url('../Fonts/Roboto-Medium.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Light */
@font-face {
  font-family: 'Roboto-Light';
  src: url('../Fonts/Roboto-Light.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Bold */
@font-face {
  font-family: 'Roboto-Bold';
  src: url('../Fonts/Roboto-Bold.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


/* SemiBold */
@font-face {
  font-family: 'Roboto-SemiBold';
  src: url('../Fonts/Roboto-SemiBold.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Italic */
@font-face {
  font-family: 'Roboto-Italic';
  src: url('../Fonts/Roboto-Italic.ttf') format('truetype'),
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}



body {
	font-family: Roboto-Regular;
}
h1,h2,h3,h4,h5 {
	font-family: Roboto-Bold;
	color: var(--gruen);
}
/* h1 {font-size: 56px;} */
/* h2 {font-size: 48px;} */
/* h3 {font-size: 38px;} */
/* h4 {font-size: 28px;} */
/* h5 {font-size: 22px;} */
/* footer h5 { */
	/* font-family: Roboto-SemiBold; */
	/* font-size: 16px; */
/* } */


/* 1) Basis: Root in rem behalten, so bleiben Abstände/Buttons konsistent */
html {
  /* Optional: mache die Root-Schriftgröße leicht fluid */
  font-size: clamp(14px, 1rem + 0.2vw, 18px);
}

/* 2) Fluid scale für Überschriften mit clamp(min, preferred, max) */
/* preferred benutzt eine Kombination aus rem und vw so wird es "flüssig" */
h1 { font-size: clamp(2rem, 1.6rem + 3.5vw, 3.25rem); line-height: 1.05; }
h2 { font-size: clamp(1.75rem, 1.4rem + 2.6vw, 2.75rem); line-height: 1.1; }
h3 { font-size: clamp(1.4rem, 1.1rem + 1.6vw, 1.8rem); line-height: 1.15; }
h4 { font-size: clamp(1.25rem, 1rem + 1.2vw, 1.5rem); line-height: 1.2; }
h5 { font-size: clamp(1rem, 0.9rem + 0.8vw, 1.25rem); line-height: 1.25; }
footer h5 {
	font-family: Roboto-SemiBold;
	font-size: 16px;
}


/* Tagline */
/* Zur Deklaration der Tagline wird die Bootstrap-Klasse "indent-left" umgebogen */ 
.frame-option-indent-left .frame-inner {
  margin-left: 0% !Important;
  margin-bottom: -20px !Important;
}

/* Buttons (Umbau der vorhandenen Link-Klassen) */ 
.link-arrow {
  padding: 0.6rem 1.2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  background-color: var(--gruen);
  color: #fff;
  border: 1px solid #fff;
}
.link-page {
  padding: 0.6rem 1.2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  text-decoration: none;
  background-color: #fff;
  color: var(--gruen);
  border: 1px solid  var(--gruen);
}
.link-page::after, .link-arrow::after {
	content: "";
	background: none !important;
	width: 0em;
}
/* Standardkästen */
div.textpic-text {
	padding: 0px 0px 30px 0px;
	margin-top: 0px;
}


.rowtyp2 {
  /* --bs-gutter-x: 40px; */
  /* margin-right: calc(0.25 * var(--bs-gutter-x)); */
  /* margin-left: calc(-0.25 * var(--bs-gutter-x)); */
  padding: 0px 10px;
}
.rowtyp2 .frameline {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 40px;
}


/* Kästen auf Startseite */

.frameline {
	padding-left: 0px;
	padding-right: 0px;
}

.frameline .gallery-item img {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.frameline div.textpic {
  border: 1px solid gray;
  border-radius: 4px;
}

.frameline div.textpic-text {
	padding: 0px 30px 30px 30px;
	margin-top: -10px;
}

#p1 .frameline div.textpic-text {
	margin-top: 30px;
}

/* Sonderfälle Bilderset Auf Startseite und auf Seite "Info" und auf Seite "Kata"*/
/* #c68 .row > *, #c144 .row > * { */
  /* padding-right: 0px !important; */
  /* padding-left:  0px !important; */
/* } */
body#p1 .frame-type-ce_columns2  .row > * ,
body#p1 .frame-type-ce_columns4  .row > * ,
body#p3 .frame-type-ce_columns2  .row > * ,
body#p3 .frame-type-ce_columns4  .row > * {
  padding-right: 0px !important;
  padding-left:  0px !important;
}
body#p77 .frame-type-ce_columns2  .row > * ,
body#p77 .frame-type-ce_columns4  .row > * {
  padding-right: 0px;
  padding-left:  0px;
}

.rowtyp1 {
  --bs-gutter-x: 20px;
  XXmargin-right: calc(0.5 * var(--bs-gutter-x));
 } 
 .rowtyp1 .frameline {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 40px;
}


body#p1 .frame-container {
	padding-left: 0px;
	padding-right:0px;
}

/* Slider Farben */
.carousel-item-layout-primary {
  --carousel-item-color: #ffffff;
  --carousel-item-background: #84af36;
  --carousel-item-link-color: #ffffff;
  --carousel-item-link-hover-color: #1f1d20;
}

.carousel-item-layout-secondary {
  --carousel-item-color: #ffffff;
  --carousel-item-background: #e4f2d3;
  --carousel-item-link-color: #ffffff;
  --carousel-item-link-hover-color: #1f1d20;
}
.carousel-item-layout-light {
  --carousel-item-color: #212121;
  --carousel-item-background: #f2faed;
  --carousel-item-link-color: #577760;
  --carousel-item-link-hover-color: #1f1d20;
}

/* Farbsets */
.frame-background-primary {
  --frame-color: #fff;
  --frame-background: var(--gruen);
  --frame-link-color: #fff;
  --frame-link-hover-color: #fff;
  padding: 5rem 0rem;
}
.frame-background-primary h1, .frame-background-primary h2{
  color: #fff !important;
}
.frame-background-secondary {
  --frame-color: #000000;
  --frame-background: var(--dunkelgruen);
  --frame-link-color: #000000;
  --frame-link-hover-color: #000000;
  padding: 5rem 0rem;
}
.frame-background-secondary h1, .frame-background-secondary h2, .frame-background-secondary p{
  color: #fff !important;
}
.frame-background-tertiary {
  --frame-color: #fff;
  --frame-background: var(--dunkelgruen);
  --frame-link-color: #fff;
  --frame-link-hover-color: #fff;
}
/* Footer Section */
.footer-section-content {
  background: #ffffff;
  --frame-color: #313131;
  --frame-link-color: #313131;
  --frame-link-hover-color: #313131;
}

.footer-section-content h5 {
  font-weight: bold;
}

.footer-section-content .section-row {
  border-bottom: 1px solid #313131;
  padding-right: 30px;
}

.footer-section-meta {
  background: #fff;
  --frame-color: #313131;
}
.footer-section-meta .frame{
  --frame-spacing: 0rem;
}

.footer-section-content ul {
  list-style-type: none;
  padding-left: 0; /* optional, um den Einzug ebenfalls zu entfernen */
}
.footer-section-content li {
  margin-bottom: 1rem;
}
.footer-section-content li a {
  text-decoration: none;
}
.footer-info-section {
  padding: 0px 20px;
}


form#newsletter-Anmeldung-142 h2 {
	font-size: 16px !important;
}
label[for="newsletter-Anmeldung-142-email-1"] {
    display: none !important;
}

/* News */
.news-list-view .list-group {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0px 10px;
  gap: 1.5rem;
  justify-content: space-between; /* wichtige Zeile: linksbündig */
  flex-direction:row;
}

.news-list-view .list-group-item {
  flex: 0 0 calc(32.5% - 1rem);
  box-sizing: border-box;
  padding: 0px;
  text-align: left;
  border: 0px;
}

/* .news-list-view .list-group-item div.row { */
	/* margin-right: calc(-.25 * var(--bs-gutter-x)); */
	/* margin-left: calc(-.25 * var(--bs-gutter-x)); */
/* } */


.articletype-0 {
	margin-top:25px;
	padding-left: 20px;
	padding-right: 20px;
}

/* Tablets: 2 Spalten */
@media (max-width: 900px) {
  .news-list-view .list-group-item {
    flex: 0 0 calc(50% - 1rem);
  }
}

/* Smartphones: 1 Spalte */
@media (max-width: 600px) {
  .news-list-view .list-group-item {
    flex: 0 0 100%;
  }
}

.news-list-special .list-group {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2rem;
  justify-content: flex-start; /* wichtige Zeile: linksbündig */
  flex-direction:row;
}

.news-list-special .list-group-item {
  flex: 0 0 calc(50% - 1rem);
  box-sizing: border-box;
  padding: 0px;
  text-align: left;
  border: 0px;
	margin-top:inherit;
}

/* Smartphones: 1 Spalte */
@media (max-width: 600px) {
  .news-list-special .list-group-item {
    flex: 0 0 100%;
  }
}

.newsimage {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9; /* sorgt für ein 16:9-Seitenverhältnis */
	overflow: hidden;
}

.newsimage img {
	width: 100%;
	height: 100%;
	object-fit: cover;     /* füllt den Rahmen aus, ohne Verzerrung */
	object-position: top;
	display: block;
}
/* News Sonderfall 1. News volle Breote */
#p46 .list-group-item:first-child {
  flex: max-content;
}
#p46 .list-group-item:first-child .col-md-12 {
  flex: 1 1 calc(50% - 1rem) !Important;
  align-content: center
}
#p46 .list-group-item:first-child .col-md-12.newsimage {
	aspect-ratio: 4 / 3 !important;
}
.news a {
	color: black;
	text-decoration: none;
	--frame-link-color:  var(--gruen);
}
.news a.news-read-more::after {
	content: "\276F";   /* ❯ */
	background: none !important;
	width: 12px;
}

span.newscat, span.text-muted {
	background-color: #eeeeee;
	padding: 3px 8px;
	margin: 0px 5px 5px 0px;
	line-height: 200%;
}
span.text-muted {
	font-size:0.7em;
}

a.readmore {
	color: var(--gruen);;
	text-decoration: none;
	--frame-link-color: black;
}
a.readmore::after {
	content: "\276F";   /* ❯ */
	background: none !important;
	margin-left: 8px;
}


.address-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}


#c288 .news {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

/* Code zum Entflackern */
/* Basis-Header */
.navbar-fixed-top {
    position: sticky;
    top: 0;
    z-index: 1030;
	border-bottom: 1px solid #000000;

    /* Animation nur über transform */
    transition: transform 0.25s ease;
    will-change: transform;

    /* Edge / Firefox Fix */
    backface-visibility: hidden;
    transform: translateZ(0);
}

/* Zustand: eingeklappter Header - scheint nicht zwingend erforderlich zu sein*/
.navbar-fixed-top.navbar-transition {
    transform: translateY(0px); /* z. B. halbe Höhe */
}

/* Tabs-Inhaltselement als Flex-Container auf Seite "^Graduierung*/
body#p9 .frame-type-tab .frame-inner {
    display: flex;
	gap: 0rem; 
	border: 1px solid #000;
}

/* Navigation links */
body#p9 .frame-type-tab .tab-navigation {
    flex: 0 0 30%;
}

  /* Pfeil + Fade kombiniert - bei diesem Element ! entfernen */
body#p9 .frame-type-tab .tab-navigation::after {
	display: none !important;
	width: 0px !important;
}

/* Tabs vertikal anordnen */
body#p9 .frame-type-tab .nav-tabs {
    flex-direction: column;
    border-bottom: 0;
    border-right: 1px solid #dee2e6;
	height:100%;
	padding-right: 0px !important;
}


/* Content rechts */
body#p9 .frame-type-tab .tab-content {
    flex: 1 1 auto;
}


body#p9 .tab-pane-content-text {
  background-color: var(--gruen);
  padding: 4rem;
}
body#p9 .tab-pane-content-text h3 {
  color: #ffffff;
}
body#p9 .tab-pane-content-text .list-normal {
  color: white;
  list-style-type: none;
  padding-left: 0rem;
}
body#p9 .tab-pane-content-text .btn-outline-default {
  color: #0b0c0c;
}

body#p9 .tab-pane-content-media img {
  border-radius: 50%;
  max-width: 30%;
  margin: unset;
}

/* Design Tabelement(e) */

body#p9 div.tab-navigation {
  border-right: 1px solid #000;
  margin-bottom: 0rem;
}

/* div.tab-content { */
  /* border: 1px solid #000; */
/* } */

body#p9 .tab-pane-content-media {
	padding:40px;
}
/* .tab-pane-content-left */
body#p9 .nav-tabs button.nav-link {
	border-bottom: 1px solid #000;
    text-align: left;
    border-radius: 0;
	flex: 1;
}

body#p9 .nav-tabs button.active {
	background-color: #EDE8D9 !important;
	border-bottom: 1px solid #000 !important;
}


body#p9 figure .caption::first-line {
  font-size: 1.1rem;
  font-weight: bold;
}

body#p9 .teaser .frame-inner, body#p9 .full-height > div {
	height:100%;
	border-radius: var(--bs-border-radius);
}
/* Ende Design Tabelement(e) */

.full-height > * {
	height:100%;
}

/* Tabs-Element Standard, z.B: Seite Ordnungen und Satzungen */
.nav-tabs {
	--bs-border-color: black;
	--bs-border-radius: 0px;
	--bs-nav-tabs-link-hover-border-color: black;
	display: flex;
}

.nav-tabs .nav-link:first-child { /*, .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {*/
  border-left: 1px solid black;
  border-right: 0px solid black;
  border-top: 1px solid black;
}
.nav-tabs .nav-link { /*, .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {*/
  border-left: 1px solid black;
  border-top: 1px solid black;
  flex: 1;
}
.nav-tabs .nav-link:last-child { /*, .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {*/
  border-right: 1px solid black;
  border-top: 1px solid black;
}
.frame-type-tab > .frame-group-container > .frame-group-inner {
	--frame-embedded-border-radius: 0;
	--frame-background: white;
}


/* Ende Tabs-Element Standard, z.B: Seite Ordnungen und Satzungen */

/* Register Typ Standard */
div.pp-tabs-primary .tab-content{
	margin-top: 0px;
	padding-top: 0px;
	border-left: 1px solid black;
	border-right: 1px solid black;
	border-bottom: 1px solid black;
}
div.pp-tabs-primary .tab-navigation {
	margin-bottom: 0px;
}
div.pp-tabs-primary .tab-content .frame {
	padding-top: 0px;
}
div.pp-tabs-primary .tab-content .frame-group-inner {
	padding-top: 20px;
}
/* Ende Register Typ Standard */

/* Dateilink-Liste in Standard-Register (3-Spaltig)*/
div.pp-tabs-primary .filelink-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 Spalten mit gleicher Breite */
  gap: 10px; /* optional: Abstand zwischen Items */
  list-style: none; /* Aufzählungszeichen entfernen */
  padding: 0;
  align-items: start;
}

div.pp-tabs-primary .filelink-item {
  flex-direction: column;
}
div.pp-tabs-primary .filelink-item + .filelink-item {
	margin-top: 0rem;
}
div.pp-tabs-primary .filelink-filename a {
  font-size: 24px;
  font-weight: 700;
  color: black !important;
}
/* Ende Dateilink-Liste */

/* Kopfbereich Seite "Lehrwesen" mit schwarzer Fläche */
#c352 {
  padding-top: 80px;
  padding-bottom: 10px;
}
#c103 {
  padding-top: 0px;
  padding-bottom: 80px;
  --frame-outer-spacing-before: 0px
}
#c103 h1{
	color: white !important;
	padding-bottom: 10px;
}
#c103 h2{
	color: white !important;
}
#c103 a.btn-default {
  border-radius: 0;
}
#c103 a.btn-secondary {
  border-radius: 0;
  border: 1px white solid;
}

/* Ende Kopfbereich Seite "Lehrwesen" */

/* Schwarze H-Tags Seite "Lehrwesen" */
body#p7 h1, body#p7 h2, body#p7 h3, body#p7 h4, body#p7 h5 {
  color: black;
}

/* Seite Lehrwesen Stützpunkte Adress-Person-Block unter Karten */
.frame-type-maps2_maps2 {
	padding-bottom: 0px;
}
.adressblock {
  margin-right: 0px;
  margin-left: 0px;
}
.adressblock .img-responsive {
  border-radius: 50%;
}
.adressblock .col-8 {
  padding-left: 20px !important;
}
.adressblock .mb-3 {
	margin-bottom: 0rem !important;
}
.adressblock .mt-3 {
	margin-top: 0rem !important;
	margin-left: 1rem;
	margin-right: 1rem;
}
.adressblock .ce-col {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	--frame-spacing: 1.25rem;
}
.adressblock a.btn-success {
	width: 100%;
	padding-left: 0px;
}
/* Ende Seite Lehrwesen Stützpunkte Adress-Person-Block unter Karten */

/* Seite Kata */
.katakopf {
	padding: 3rem;
}
/* Masonry-Objekt */
div.katamasonryrow1left {
	display: flex;
	flex-direction: column;
	hyphens: auto;
}
div.katamasonryrow1left > * {
	padding-right: 20px !important;
	padding-left: 20px !important;
}
div.katamasonryrow1right div {
	--frame-spacing: 0px !important;
	hyphens: auto;
}
div.katamasonryrow1right .ce-col {
	display: flex;
	flex-direction: column;
}
div.katamasonryrow1right .ce-col > div:first-child {
	padding-bottom: 40px;
}
div.katamasonryrow1right .ce-col > div:last-child {
	margin-top: auto !important;
}
div.katamasonryrow1right .ce-col .frame-inner {
	border: 1px solid black;
}
div.katamasonryrow1right div.textpic-text {
	padding: 15px;
}
/* #c388 Großer Kasten erste Reihe */
.katamasonryrow1left > div {
  border: 1px solid black;
  padding: 15px 20px 0px 15px;
  margin: 0px 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.katamasonryrow1left > div div.gallery-row {
	margin-top: auto !important;
	margin-left: -20px;
	margin-right: -20px;
}

.masonry_bottom_right > div, .masonry_bottom_left > div {
  margin: 0px 20px;
  padding-top: 0rem;
}
.masonry_bottom_right > div .frame-group-inner, .masonry_bottom_left > div .frame-group-inner {
  border: 1px solid black;
}
.masonry_bottom_right > div .textpic-text, .masonry_bottom_left > div  .textpic-text {
  padding: 15px 20px 0px 20px;
}
.masonry_bottom_right > div .frame-container, .masonry_bottom_left > div  .frame-container {
  padding: 0px;
}
/* Tablets: 2 Spalten */
@media (max-width: 991px) {
	.katamasonryrow1left {
		margin-bottom: 40px;
	}
	#c380 {
		margin-bottom: 40px;
	}
}
/* Unterer Kasten aus Seite "Kata" */
.frame-background-light {
  --frame-color: #212121;
  --frame-background: #EDE8D9;
  --frame-link-color: #577760;
  --frame-link-hover-color: #465f4d;
  padding: 80px;
}
.frame-background-light .frame-group-inner {
	width: 75%;
	margin: 1% auto;
}
/* Ende Unterer Kasten aus Seite "Kata" */

/* Ende Seite Kata */

/* Seite Kontakt */
.form-control, .form-group input[type="file"], .frame-type-felogin_login input[type="text"], .frame-type-felogin_login input[type="password"] {
	border-radius: 0px;
}

/* Ende Seite Kontakt */

div.frame-type-tab .frame-group-inner {
	padding: 0px !important;
}
div.startlinks {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0px;
  background-color: #fafaf8;
  margin-right: 0px !important;
  margin-left: 0px !important;
  hyphens: auto;
}
div.startlinks > div {
	padding-left:40px;
	padding-right: 20px;
}

div.startrechts {
  padding: 0px;
  margin-right: 0px !important;
  margin-left: 0px !important;
}
/* Suchbutton HAuptnavi */
.navbar-nav > li:last-child {
  background-color: black;
  border-radius: 0.375rem;
}

.navbar-nav > li:last-child a {
  color: white;
}

.tx-kesearch-pi1 form {
  background-color: #fafaf8;
  padding: 10px;
  border-radius: 20px;
}

.tx-kesearch-pi1 .kesearch_searchbox {
  display: flex;
  gap: 1rem;
}
#ke_search_sword {
  max-width: 100%;
}

div.kesearchbox {
  flex: 1;
}

#kesearch_filters {
  display: flex;
  flex: 2;
  gap: 1rem;
}

.submitbutt {
  flex: 1;
}


#list_3 {
  flex: 1;
  max-height: 190px;
  overflow: auto;
}

#dateRange_filter_2 {
  flex: 1;
}



/* ke_search_pi1.css | https://nwdk.2in1web.de/_assets/85f14b2d3ccfdfc419116ec13c196097/Css/ke_search_pi1.css?1754492414 */
body#p46 #kesearch_results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}


.navbar-nav {
	--mainnavigation-nav-spacing-x: 0.45vw !important;
	justify-content: flex-end;
}

.navbar-mainnavigation .nav-item {
	/* flex-wrap: nowrap; */
	font-size: clamp(14px, 1.55vw, 22px);
	/* white-space: nowrap; */
}

@media (max-width: 600px) {
	/* Startseite */
	div.startlinks > div {
	  padding-right: 40px;
	}
	#c86 .frame-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	/* Aktuelles */
	#p46 .list-group-item:first-child .col-md-12 {
		flex: inherit !Important;
	}
}

@media (max-width: 768px) {

  /* Container vorbereiten */
  .tab-navigation {
    position: relative;
  }

  /* Tabs scrollbar */
  .tab-navigation .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;

    padding-right: 50px; /* Platz für Pfeil */

    scrollbar-width: none;
    scrollbar-color: #666 #eee;
  }

  /* Tabs fixieren */
  .tab-navigation .nav-tabs .nav-link {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* deutlich sichtbare Scrollbar */
  .tab-navigation .nav-tabs::-webkit-scrollbar {
    height: 8px;
  }

  .tab-navigation .nav-tabs::-webkit-scrollbar-track {
    background: #eee;
  }

  .tab-navigation .nav-tabs::-webkit-scrollbar-thumb {
    background: #666;
    border-radius: 4px;
  }

.tab-navigation .nav-tabs {
  cursor: grab;
}

.tab-navigation .nav-tabs.dragging {
  cursor: grabbing;
  user-select: none;
}

  /* Pfeil + Fade kombiniert */
  .tab-navigation::after {

    content: "\2194";

    position: absolute;
    top: 0;
    right: 0;

    width: 50px;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 28px;
    font-weight: bold;
    color: #333;

    background: linear-gradient(
      to right,
      rgba(255,255,255,0),
      rgba(255,255,255,0.85) 40%,
      rgba(255,255,255,1)
    );

    pointer-events: none;

    animation: scrollHint 1.5s infinite;
  }

  /* leichte Animation */
  @keyframes scrollHint {

    0%   { transform: translateX(0); }
    50%  { transform: translateX(6px); }
    100% { transform: translateX(0); }

  }

}





@media (max-width: 900px) {
	/* Aktuelles */
	.tx-kesearch-pi1 .kesearch_searchbox {
		flex-direction: column;
	}
	div.kesearchbox {
		min-height: 2rem;
	}
	div.pp-tabs-primary .filelink-list {
		grid-template-columns: unset;
	}

}


/* DEBUG-Hilfen */
/* * { outline: 1px dashed red } */
/* * * { outline: 1px dashed green } */
/* * * * { outline: 1px dashed blue } */



/* === NWDK eigene Anpassungen ============================================ */

/* Abstand zwischen Bildern in News-Artikeln */
.news-single .thumbnail { margin-bottom: 16px; }

/* Safari-Fix: Featured-News-Element auf "Aktuelles" */
html #p46 .list-group-item:first-child { flex: 1 1 100%; }

/* Footer-Hintergrund */
#page-footer,
#page-footer .footer-section { background-color: #eeeeee; }

/* Paginierung Aktuelles */
.kesearch_pagebrowser ul li {
    margin: 0 4px !important;
    min-width: 32px;
}

/* Hero Section Textblock */
div.startlinks {
    padding: 0 100px;
    max-width: 920px;
}

/* Artikel Teaser */
.tx-kesearch-pi1 #kesearch_results .teaser_icon img {
    margin-bottom: 16px;
}

#kesearch_results .result-list-item {
    padding: 8px !important;
    border: 1px solid;
    border-radius: 8px;
    border-color: #cfd7d9;
}

/* Kreise Übersicht KDVs */
.frame-header {
    min-height: 75px;
}

/* Lehrwesen v-card */
#p7 .tx-address-manager .row {
    --bs-gutter-x: 0px !important;
}

.adressblock .col-8 {
    min-height: 165px;
}

/* Info-Seite: Karten-Bilder einheitlich (16:9, formatfüllend) */
.page-3 .textpic-above .gallery-item img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.page-3 .textpic-above figure.image,
.page-3 .textpic-above .gallery-item,
.page-3 .textpic-above picture,
.page-3 .textpic-above .image a {
  display: block;
  width: 100%;
}

/* Address-Manager-Liste: Bootstrap-Spalten wieder aktivieren
   (überschreibt das .address-list { display:grid } weiter oben) */
.address-list.row {
  display: flex;
}
.address-list.row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

#c408 .card, #c409 .card {
    max-width: 300px;
	min-height: 536px;
	margin-bottom: 40px;
}

/* Kata */
.textpic {
    gap: unset;
}


/* NWDK Newssuche – Filterleiste-Enhancement (CSS)
 * Gehoert zu newssuche-filter.js. Vorherigen NWDK-Block in custom.css ersetzen.
 * Fuer ke_search rendertype "checkbox" (und "list").
 */

:root {
  --nwdk-green: #1f7a3d;
  --nwdk-green-dark: #155f2e;
  --nwdk-green-soft: #eaf4ee;
  --nwdk-line: #d7ddd8;
}

/* ---------- ke_search-Filterkasten entschaerfen (Rahmen/feste Hoehe/Overflow) ----------
 * checkbox-Modus: #list_filter_3 ; list-Modus: #list_3
 */
#kesearch_filters #list_filter_3.list,
#kesearch_filters #list_3.list,
#kesearch_filters #dateRange_filter_2.list {
  overflow: visible;
  height: auto;
  max-height: none;
  min-height: 0;
  border: 0;
  background: none;
  padding: 0;
}

#ke_search_sword {
    border-radius: 8px;
}

/* ---------- Kreise/Gremien: gruppiertes Dropdown ---------- */
.nwdk-kfilter {
  position: relative;
  display: inline-block;
  min-width: 220px;
  max-width: 300px;
  vertical-align: top;
}

.nwdk-kfilter-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 9px 12px;
  background: #fff;
  border: 1px solid var(--nwdk-line);
  border-radius: 8px;
  font-size: .95rem;
  line-height: 1.3;
  color: #1c2620;
  cursor: pointer;
}
.nwdk-kfilter-toggle:hover { border-color: var(--nwdk-green); }
.nwdk-kfilter-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nwdk-kfilter-label.is-empty { color: #5d6b62; }
.nwdk-kfilter-caret { color: #5d6b62; font-size: .8em; flex: 0 0 auto; }

.nwdk-kfilter-panel {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 6px);
  left: 0;
  width: 660px;
  max-width: 92vw;
  max-height: none;
  overflow: visible;
  background: #fff;
  border: 1px solid var(--nwdk-line);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
  padding: 10px 16px 14px;
  display: none;
}
.nwdk-kfilter.open .nwdk-kfilter-panel { display: block; }

/* "Alle anzeigen" oben im Dropdown */
.nwdk-kfilter-allrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 2px 0 8px;
  padding: 4px 8px;
  background: none;
  border: 0;
  border-radius: 6px;
  color: var(--nwdk-green-dark);
  font-size: .85rem;
  font-weight: 500;
  cursor: pointer;
}
.nwdk-kfilter-allrow:hover { background: var(--nwdk-green-soft); }

/* "Anzeigen"-Button unten im Dropdown (wendet die Auswahl an) */
.nwdk-kfilter-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--nwdk-line);
}
.nwdk-kfilter-apply {
  padding: 9px 22px;
  background: var(--nwdk-green);
  color: #fff;
  border: 0;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 500;
  cursor: pointer;
}
.nwdk-kfilter-apply:hover { background: var(--nwdk-green-dark); }

.nwdk-kfilter-grouphdr {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--nwdk-green-dark);
  padding: 2px 2px 6px;
}
.nwdk-kfilter-group + .nwdk-kfilter-group .nwdk-kfilter-grouphdr {
  border-top: 1px solid var(--nwdk-line);
  margin-top: 8px;
  padding-top: 10px;
}

/* Optionsliste – hohe Spezifitaet gegen ke_search-CSS */
.nwdk-kfilter .nwdk-kfilter-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 2px 16px;
}
.nwdk-kfilter .nwdk-kfilter-list > li {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  float: none;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 5px 4px;
  border: 0;
  background: none;
  border-radius: 6px;
  line-height: 1.25;
}
.nwdk-kfilter .nwdk-kfilter-list > li:hover { background: var(--nwdk-green-soft); }
.nwdk-kfilter .nwdk-kfilter-list > li > input[type=checkbox] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--nwdk-green);
}
.nwdk-kfilter .nwdk-kfilter-list > li > label,
.nwdk-kfilter .nwdk-kfilter-list > li > a {
  margin: 0;
  padding: 0;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.25;
  color: #1c2620;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
/* Link-Modus (list): ganze Zeile klickbar */
.nwdk-kfilter .nwdk-kfilter-list > li > a { display: flex; align-items: center; gap: 8px; width: 100%; }
.nwdk-kfilter .nwdk-kfilter-list > li.selected > a,
.nwdk-kfilter .nwdk-kfilter-list > li.active > a {
  color: var(--nwdk-green-dark);
  font-weight: 600;
}

/* ---------- "Alle anzeigen"-Button neben "Suchen" ---------- */
.submitbutt { display: inline-flex; align-items: center; gap: 10px; }
button.nwdk-kfilter-all {
  display: inline-flex;
  align-items: center;
  height: 43px;
  margin: 0;
  padding: 0 16px;
  background: transparent;
  color: #5d6b62;
  border: 1px solid #cfd6d0;
  border-radius: 8px;
  font-size: .95rem;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}
button.nwdk-kfilter-all:hover {
  border-color: var(--nwdk-green);
  color: var(--nwdk-green);
}

/* ---------- Datumsbereich ---------- */
#dateRange_filter_2 .head {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #5d6b62;
  margin-bottom: 6px;
  border: 0;
  padding: 0;
}
#dateRange_filter_2 label {
  display: block;
  font-size: 12px;
  color: #5d6b62;
  margin: 6px 0 2px;
}
#dateRange_filter_2 input[type=date] {
  padding: 8px 10px;
  border: 1px solid var(--nwdk-line);
  border-radius: 8px;
  font-size: .95rem;
  background: #fff;
}
#dateRange_filter_2 input[type=date]:focus {
  outline: 2px solid var(--nwdk-green);
  border-color: var(--nwdk-green);
}

/* schmale Screens */
@media (max-width: 640px) {
  .nwdk-kfilter { max-width: none; width: 100%; }
  .nwdk-kfilter-panel { width: 100%; }
  .nwdk-kfilter .nwdk-kfilter-list { grid-template-columns: 1fr; }
}
