:root {

	--ci-color-green-200: #BCD419;
	--ci-color-green-300: #A1B414;
	--ci-color-green-400: #72820D;

	--ci-color-blue-400: #2976AC;

	--ci-color-purple-400: #40196F;

	--ci-color-orange-400: #DE8A19;

	--ci-color-red-400: #9C0216;


	--primary-color: var(--ci-color-green-400);

	--link-color: var(--ci-color-blue-400) !important;
	--link-hover-color: var(--ci-color-orange-400) !important;

	--h1-font-size: 1.5em;
	--h1-line-height: 1.15;

	--h2-font-size: 1.2em;

	--container-small-max-width: calc((800 / 18) * 1rem);

	--bg-image: url(../img/brotfabrik-edit.jpg);

	--body-color: #000;
}

@media screen and (min-width: 40em) {
	:root {
		--h1-font-size: calc((47 / 18) * 1rem);
		--h2-font-size: calc((37 / 18) * 1rem);
	}
}

html, body {
	height: 100%;
	scroll-behavior: smooth;
}
body {
	--body-color: #000;
}
.page {
	position: relative;
	background-color: transparent;
	background-image: linear-gradient(45deg,var(--ci-color-green-200) 0%,var(--ci-color-green-200) 4rem,rgba(255,255,255,0.95) 4rem, rgba(255,255,255,0.95) calc( 100% - 4rem ),rgba(255,255,255,0) calc( 100% - 4rem ));
	padding-block-start: 4rem;
	padding-block-end: 4rem;
}
.page::before {
	content: '';
	width: 4rem;
	height: 8rem;
	position: absolute;
	top: 0; left: 0;
	background:
		linear-gradient(45deg,var(--ci-color-green-400) 0%,var(--ci-color-green-400) 50%,rgba(255,255,255,0) 50%),
		linear-gradient(45deg,var(--ci-color-green-300) 0%,var(--ci-color-green-300) 50%,rgba(255,255,255,0) 50%) 2rem 2rem,
		linear-gradient(45deg,var(--ci-color-green-200) 0%,var(--ci-color-green-200) 50%,rgba(255,255,255,0) 50%) 0 2rem,
		linear-gradient(45deg,var(--ci-color-green-400) 0%,var(--ci-color-green-400) 50%,rgba(255,255,255,0) 50%) 0 4rem;
	background-size: 2rem 2rem;
	background-repeat: no-repeat;

}
.page::after {
	content: '';
	width: 25px;
	height: 25px;
	position: absolute;
	bottom: 0; right: 0;
	background-image: linear-gradient(45deg,var(--ci-color-green-200) 0%,var(--ci-color-green-200) 50%,rgba(255,255,255,0) 50%);

}

@media screen and (min-width: 40em) {
	body {
		display: flex;
		padding-top: 4rem;
		align-items:flex-start;
		justify-content: center;
		background-image: var(--bg-image);
		background-size:cover;
		background-repeat:no-repeat;
		background-attachment: fixed;
	}
	.page {
		/*background-color: rgba(255,255,255,0.85);*/
		padding: 4rem;
	}
}

h1 {
	color: var(--primary-color);
}
h2,h3 {
	color: var(--ci-color-green-300);
}
h1, h2 {
	text-wrap-style: balance;
	text-transform: uppercase;
}
h1, h2, h3 {
	font-weight: normal;
}

h2 {
  margin-top: 2rem;
}

.intro + * {
	margin-top: 2rem;
}

.page__footer {
	margin-top: 4rem;
}

* + .body,
.body > * + * {
  margin-top: 1rem;
}

.body .image {
  max-width: 30em;
}

.images {
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
}
.images .image {
  aspect-ratio: 1;
}
.images .image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.institutions-list {
  list-style-type: none;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fill,minmax(320px,1fr));
  line-height: 1.3;
}
.institutions-list .heading {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.3;
  text-transform: uppercase;
  hyphens: auto;
}
.institutions-list .subheading {
  font-style: italic;
}
.institutions-list .link {

}
.institutions-list li > p + p {
  margin-top: 0.5rem;
}
.institutions-list .heading,
.institutions-list a {
  color: var(--primary-color);
}

.institutions-list .logo {
  aspect-ratio: 1;
  background-color: white;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 120px;
  max-height: 120px;
  float: right;
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
  border: 1px solid #eee;
}
.institutions-list .logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.institutions-list p {
	color: #000 !important;
}

.kinderbetreuung {
  --primary-color: var(--ci-color-green-400);
}

.schulen {
  --primary-color: var(--ci-color-blue-400);
}

.kinder_jugendliche_familien_und_senioren {
  --primary-color: var(--ci-color-purple-400);
}
.vereine {
  --primary-color: var(--ci-color-orange-400);
}
.weitere_einrichtungen {
  --primary-color: var(--ci-color-red-400);
}

.accordion__title span {
  font-weight: bold;
  color: var(--primary-color);
}
.accordion--open .accordion__content {
  padding-bottom: 1rem;
}

.institutions-list li:has(:target) {
  border: 3px solid var(--primary-color);
  padding: 1rem;
  background-color: white;
}

/* nav */
.nav-list {
  margin: 0: padding: 0;
  list-style-type: none;
}
.nav-list li {
  margin: 0; padding: 0;
}
.nav-list li:not(.active) a {
  text-decoration: none;
}
/* meta-nav*/
.meta-nav .nav-list {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
}
.meta-nav {
  --link-color: var(--ci-color-green-300);
  --link-hover-color: var(--ci-color-green-400);
  font-size: 0.866em;
  line-height: 1.3;
  margin-top: 4rem;
}
/* main-nav */
.main-nav {
  --link-color: var(--ci-color-green-400);
  --link-hover-color: var(--ci-color-green-300);
}
.main-nav {
	padding: 2rem;
}
@media screen and (min-width: 40em) {
	.main-nav {
		padding: 0;
	}
}
.main-nav .nav-list {
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: flex;
  flex-flow: row wrap;
  gap: 2rem;
}
.main-nav + * {
  margin-top: 4rem;
}

/* map test */
#map {
  aspect-ratio: 16/9;
}

.leaflet-marker-icon {
  box-shadow: 2px 2px 6px black;
  outline: 1px solid white;
}
.marker-kinderbetreuung {
  background-color: var(--ci-color-green-400);
}
.marker-schulen {
  background-color: var(--ci-color-blue-400);
}
.marker-kinder_jugendliche_familien_und_senioren {
  background-color: var(--ci-color-purple-400);
}
.marker-vereine {
  background-color: var(--ci-color-orange-400);
}
.marker-weitere_einrichtungen {
  background-color: var(--ci-color-red-400);
}
