* {
	margin: 0;
	padding: 0;
}




@font-face {
	font-family: 'Barlow';
	src: url('../fonts/barlow-regular.woff2') format('woff2'),
		url('../fonts/barlow-regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Barlow';
	src: url('../fonts/barlow-bold.woff2') format('woff2'),
		url('../fonts/barlow-bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}



@font-face {
	font-family: 'NeuePlakCompBlack';
	src: url('../fonts/NeuePlak-CompBlack.woff2') format('woff2'),
		url('../fonts/NeuePlak-CompBlack.woff') format('woff');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--brand-schwarz: #171615;
	--brand-gradient: linear-gradient(135deg, rgba(163, 201, 227, 1) 0%, rgba(244, 213, 106, 1) 100%);
	--moon: #E0DED0;
	--brand-lila: #4c3363;
	--brand-rot: #ed1846;
	--accent-rot: #ed1846;
	--mbsr-gruen: #ACC246;
	--fastweiss: #f6f6f6;
}

.unsichtbar {
	display: none;
	visibility: hidden;
	height: 0;
}

.margin-null {
	margin: 0 !important;
}

.padding-null {
	padding: 0 !important;
}

.desktop {
	display: block;
}

.mobile {
	display: none;
}

.topabstand {
	margin-top: 3rem;
}

.top-null {
	margin-top: 0;
	margin-block-start: 0;
}

.bottom-null {
	margin-bottom: 0;
	margin-block-end: 0;
}

.border-bottom {
	border-bottom: 1px dashed var(--brand-rot);
	padding-bottom: 33px;
}
.vertical {
	writing-mode: vertical-rl;
transform: rotate(180deg);
font-family: "NeuePlakCompBlack", Helvetica, Arial, sans-serif;
text-transform: uppercase;
color: var(--brand-lila);
letter-spacing: 0.05rem;
line-height: .9;
text-align: right;
font-size: 8rem;

	margin-top: -1px;
margin-left: 35px;
 position: sticky;
  top: 6rem;
  align-self: flex-start;
  
}

p.programm {
	display: flex;
	border-bottom: 1px dashed var(--brand-rot);
	margin-block-end: 2rem;
	padding-block-end: 2rem;
}

.trenner {
	border-top: 1px dashed var(--brand-lila);
	max-width: calc(1288px - 6rem);
	margin: 0rem auto;
}

.trenner-volle-breite {
	border-top: 1px dashed var(--brand-lila);
	margin: 9rem 0;
}



html {
	height: 100%;
	font-size: .625em;
	line-height: 1.35;
	scroll-behavior: smooth;
}

body {
	height: 100%;
	font-family: 'Barlow', Arial, helvetica, sans-serif;
	background: #fff;
	color: #000;

}

content {
	position: relative;
	height: auto;
	width: 100vw;

	float: left;
	padding-bottom: 80vh;
	/* scroll-snap-type: y mandatory; */
}

section {
	display: block;
	/* scroll-snap-align: start;
	overflow-y: auto; */
}

.iframe-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
}

.video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.video-container video {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16 / 9;
	background: black;
}


.plan {
	background-image: url('../img/1865_Sineck-Plan_Stadtkern mit rubrizierten Kirchen_7000 Pixel STADTKERN-beschnitten.jpg');
	background-size: cover;
	height: 89vh;
	width: 100vw;
	position: fixed;
	bottom: 0;
	z-index: -1;
}

.plan figcaption {
	position: absolute;
	background: #000;
	color: #fff;
	padding: 3px 8px;
	bottom: 9rem;

}

footer {
	background: #fff;
	position: fixed;
	bottom: 0;
	width: 100vw;
}

footer ul.footer-nav {
	display: flex;
	flex-direction: row;
	align-items: baseline;
}



p {
	margin-bottom: 3.5rem;
}

h3,
h4 {
	font-weight: 400;
}

h1 {
	font-family: "NeuePlakCompBlack", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	color: var(--brand-lila);
	letter-spacing: 0.05rem;
	line-height: .9;
	font-size: 3rem;

}

h2 {
	font-family: "NeuePlakCompBlack", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	color: var(--brand-lila);
	letter-spacing: 0.05rem;
	line-height: .9;

}

h1 span,
h2 span,
p span {
	color: var(--brand-rot)
}

.programm span{
	display: inline-block;
	margin-right: 22px;
}

h1+h2 {
	margin-top: -3rem;
	color: var(--brand-rot);
}

h3.programm {
	font-family: "NeuePlakCompBlack", Helvetica, Arial, sans-serif;
	text-transform: uppercase;
	color: var(--brand-rot);
	letter-spacing: 0.05rem;
	line-height: .9;
}
.presse h3{
	color: var(--brand-lila);
	font-size: 2.2rem;
	line-height: 1.3;
}


p a,
ul.link-liste li a {
	background: url(../elemente/link-pfeil.svg);
	background-repeat: no-repeat;
	background-size: 16px !important;
	background-position: 0px 6px !important;
	padding-left: 22px ;
	text-decoration: none;
	font-style: italic;
	color: #000;
	/* line-height: 1.5em; */
}
a.link2{
	text-decoration: none;
	font-style: normal;
	color: #000;
	background: none;
	padding-left: 0;
	line-height: 1.5
}
a.link2::after {
 content: "";
 display: inline-block;
 width: 14px;
 height: 14px;
 margin-left: 0.5rem;
 /* vertical-align: middle; */
 background-position: 0px 3px !important;
 background: url(../elemente/link-pfeil.svg) center / contain no-repeat;
 
}



p.topline a {
	background-size: 12px;
	background-position: 0px 2px;
	padding-left: 16px;
}

p a.download {
	background: url(../elemente/download-pfeil.svg);
	background-repeat: no-repeat;
	background-size: 15px !important;
	background-position: 0px 0px !important;
	padding-left: 26px !important;
	text-decoration: none;
	font-style: normal;
	color: #d03;
	/* line-height: 1.5em; */
}

color: #000;
/* line-height: 1.5em; */
}

p a.ohnePfeil,
a.ohnePfeil {
	background: none;
	padding-left: 0;
}

figcaption,
figcaption a {
	font-size: 1.4rem;
	color: #000;
	margin-top: .35rem;
}

figcaption a {
	text-decoration: none;
	/* border-bottom: 1px dotted #000; */
	color: #000;
}

ul li {
	list-style: inside;
	margin-block-end: .5rem;
}

ul li a {
	text-decoration: none;
	color: #000;
}

nav ul li a {
	font-family: 'Barlow';
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.01rem;
	text-decoration: none;
	color: var(--brand-lila);
	text-transform: uppercase;

}

ul.link-liste li {
	list-style: none;
	margin-block-end: .5rem;
}


p.klein,
.klein p {
	font-size: 1.2rem;
}

p.klein14,
.klein14 p,
.klein14 ul li {
	font-size: 1.4rem;
}

strong,
.fett ul li.fett,
p.fett {
	font-weight: 700;
}




.active {
	color: var(--accent-rot);
}

.topline {
	/* padding-bottom: 1.5rem; */
	font-size: 1.4rem;
}


.text-rot {
	color: var(--accent-rot);
}

.large-font {
	font-size: 1.9rem;
}

.wrapper {
	display: flex;
	flex-direction: row;

}

.wrapper.column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: auto;

}

.wrapper.column.flex-horizontal-center {
	align-items: center
}


.bild-ebene {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	float: left;
}

.verlauf-ebene {
	width: 100%;
	height: 100%;
	background: var(--brand-gradient);
	mix-blend-mode: soft-light;
}

.text-ebene {
	position: absolute;
	z-index: 2;
	width: 100vw;
}

.text-ebene .wrapper {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;


}

/* .text-ebene .wrapper span{
	position: relative;
} */


.text-ebene .header-super {
	width: 100%;
	font-size: 2rem;
	font-weight: 500;
	color: #000;
	margin: 0 0 22px 0;
	text-transform: uppercase;
	text-align: center;
}

.text-ebene .header-head {
	width: 100%;
	font-size: 7rem;
	line-height: 1.25;
	font-weight: 500;
	color: #000;
	text-transform: uppercase;
	text-align: center;


}




.bildbox-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

section {
	position: relative;
	height: auto;
	background: #fff;

}

.text-zentriert {
	text-align: center;
}



form.find select {
	width: 80%;
	font-size: 1.6rem;
	padding: 8px;
	background: #f9e4a8;
	border: none;
	border: 1px solid #fff6e0;
}

form.find input[type="text"] {
	border: none;
	width: 75%;
	font-size: 1.6rem;
	padding: 8px;
	background: #f9e4a8;
	border-bottom: 1px solid #fff6e0;
}

form.find select option {
	/* text-align: center */
}

form.find label {
	font-size: 1.4rem;
	text-align: left;
	margin: -2px auto 4px auto;
	display: block;
	width: 80%;
}

::placeholder {
	color: #000;
}



.linkimtext {
	text-decoration: none;
	background: none;
	padding: 0;
	border-bottom: 1px dashed #000;
}

.linkimtext:hover {
	border-bottom: 1px solid
}

.schatten {
	box-shadow: 1px -20px 300px rgba(23, 17, 0, 1)
}

form.find {
	width: 280px;
	height: 250px;
	background: var(--brand-gelb);
	border-radius: 7px;
	position: absolute;
	top: 58vh;
	right: 12vh;
	z-index: 22;
	box-shadow: 1px 1px 10px #0000001a;
	text-align: center;
}

.sticky {
	height: 52px !important;
	transition: height .5s;
	top: 10px !important;
	right: 12vh !important;
	position: fixed !important;
}

form.find.sticky label,
form.find.sticky select,
form.find.sticky input {
	display: none;
}


.vergleichsbild {
	width: 308px;
	height: auto;
	margin-top: 3rem;
}


.galerie_btn {
	display: none;
}

iframe.iframe {
	border: none;
	min-width: min(100%, 330px);
	max-width: 100%;
	margin-top: 0rem;
	margin-bottom: 1.5rem;
}

.col-12.vier-bilder {
	display: flex;
	flex-direction: row;
	/* justify-content: center; */
	flex-wrap: wrap;
	gap: 5rem;
}

.col-12.drei-bilder {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 5rem;
	justify-content: center;
	align-items: center;

}

.col-12.drei-bilder figure.landscape {
	width: 30.5%;
	height: auto;
}

.col-12.drei-bilder figure.portrait {
	width: 28.6%;
	height: auto;

}

.col-12.vier-bilder figure.landscape {
	width: 21.9%;
	height: auto;
}

.col-12.vier-bilder figure.portrait {
	width: 19.6%;
	height: auto;

}

.col-12.drei-bilder figcaption,
.col-12.vier-bilder figcaption {
	font-size: 1.4rem
}


@media (min-width: 350px)and (max-width: 810px) {
	.desktop {
		display: none;
	}

	.mobile {
		display: block;
	}

h1 {
	font-size: 5rem
}
h1+h2 {
		margin-top: 0rem;
		color: var(--brand-rot);
	}



	h2 {
		font-size: 3.4rem;
		font-weight: 400;
		margin: 1.5rem 2rem 1.5rem 0rem;
	}



	p,
	p.ph4,
	.ph4 p,
	h4,
	ul,
	ul.ph4 {
		font-size: 1.6rem
	}

	h3,
	.ph3 p,
	p.ph3,
	ul.h3,
	h3.programm {
		font-size: 2.4rem;
	}

h3 {

		margin: 1.5rem 2rem 1.5rem 0rem;
	}

	ul.ph4 li {
		margin-bottom: 1.5rem;
	}

	.topline {
		font-size: 1.2;
		margin-bottom: 1.5rem
	}
	.vertical{
		display: none;

	
	}


	header {
		width: 100vw;
		height: 550px;
		background: rgba(255, 255, 255, 1)
	}

	.logo-text {
		position: absolute;
		top: 120px;
		width: 302px;
	}

	.punkt,
	.punkt2,
	.punkt3 {
		position: absolute;
		width: 200px;
		height: 200px;
		top: 70px;
		opacity: 0;
		animation: myAnim 6s;
		animation-iteration-count: infinite;
	}

	.punkt2 {
		animation-delay: 2s;
	}

	.punkt3 {
		animation-delay: 4s;
	}

	img.logo {
		width: 20vw;
		height: auto;
	}

	nav {
		display: none
	}

	footer ul.footer-nav li {
		list-style: none;
		padding-right: .5rem;
		font-size: 1.2rem;
	}

	p.ph4,
	.ph4 p,
	h4,
	ol,
	ul {
		font-size: 1.6rem
	}

	h3,
	.ph3 p,
	p.ph3,
	ul.h3 {
		font-size: 2.5rem;
		margin-block-end: 1rem;
		margin: 0rem 0 2.5rem 0;
	}
	h3{
		font-size: 2.5rem;
			line-height: 1.2;

	}
	h3.programm{
		margin-top: 3.5rem;
	}

	ul.h3 li {
		margin-bottom: 1.5rem;
	}
	p.gross {
		font-size: 1.8rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}

	ol li{
		margin: 0 0 16px 1.5rem;
	}

	.hamburger,
	.schliessen {
		position: fixed;
		height: 44px;
		width: 44px;
		border-radius: 50%;
		top: 14px;
		right: 5vw;
		z-index: 4;
		box-shadow: 1px 1px 10px #0000001a;
		display: none
	}

	.hamburger.sichtbar,
	.schliessen.sichtbar {
		display: block;
		/* transition: .5s; */
	}

	.inhaltsverzeichnis {

		z-index: 3;
		position: fixed;
		top: -101vh;
		transition: .4s;
		width: 100vw;
		height: 100vh;
		background: #fff;
		box-shadow: 1px 1px 10px #0000001a;

	}

	.inhaltsverzeichnis.aufgeklappt {
		top: 0;
		transition: .5s;
	}

	.inhaltsverzeichnis .wrapper {
		display: flex;
		justify-content: flex-start;
		margin-top: 44px;
		min-height: inherit
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) {
		margin-top: 0;
		padding-top: 0;
	}

	.inhaltsverzeichnis ul li{
		list-style: none;
	}

	.inhaltsverzeichnis ul li {
		padding: 0px 0 0px 8px;
		line-height: 1.3;
	}

	.inhaltsverzeichnis ul li a {
		text-decoration: none;
		color: #000;
		font-family: 'NeuePlakCompBlack';
		font-size: 3.7rem;
		font-weight: 900;
		text-transform: uppercase;
		line-height: 1;
		color: var(--brand-lila);
		letter-spacing: 0.01rem
	}

	.inhaltsverzeichnis ul li a:hover {
		text-decoration: none;
		color: var(--accent-rot);

	}


	.inhaltsverzeichnis .social {
		height: 32px;
		width: auto;
		margin: -8px 4px 0 0;
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) div {
		margin-right: 22px;
	}

	.inhaltsverzeichnis img {
		width: 52vw;
	}

	a.button {
		font-size: 1.6rem;
		color: #000;
		text-decoration: none;
		padding: 8px 14px 6px;
		border: 1px dotted #000;
		border-radius: 5px;

	}


	.wrapper {
		flex-direction: column;
		max-width: 100vw;
		margin: 0 auto;
		padding: 1rem;
	}

	.mobile-reverse {
		flex-direction: column-reverse;
	}

	/* .col-3:not(:last-child),
	.col-4:not(:last-child),
	.col-6:not(:last-child),
	.col-8:not(:last-child){
		margin-right: 16px;
	} */
	.col-2,
	.col-3,
	.col-4,
	.col-5,
	.col-6,
	.col-8,
	.col10,
	.col-12 {
		/* border: 1px dotted; */

		padding: 1.5rem 0;
	}

	.non100 .figure figure {
		width: 100%;
		height: auto
	}

	figure img {
		width: 100%;
		height: auto
	}

	figure.halbe-groesse {
		text-align: center;
	}

	figure.halbe-groesse img {
		width: 60%;
	}

	.text-box {
		margin: 1.5rem 2rem 1.5rem 2rem;
	}


	.top-abstand {
		padding-top: 8rem;
	}

	.non100 figure {
		width: 100%;
		height: auto;
		margin-left: 0
	}

	img.bln {
		width: 90vw;
	}

	.col-12.vier-bilder {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 5rem;


	}

	.col-12.vier-bilder figure.portrait {
		width: 80%;
		height: auto;

	}

	.col-12.vier-bilder figure.landscape {
		width: 93%;
		height: auto;

	}

	footer {
		max-height: 130px;
	}

	footer ul.footer-nav li,
	footer ul.footer-nav li a {
		font-size: 1rem;
	}

	footer .wrapper {
		background: #fff;
	}
}

@media (min-width: 811px) {



	header {
		width: 100vw;
		height: 58vh;
		background: rgba(255, 255, 255, 1)
	}


	figure.header_bild {
		display: block;
		padding: 0;
		width: 1500px;
		margin: 46px auto 0 auto;
	}

	footer ul.footer-nav li {
		list-style: none;
		padding-right: 12px;
		font-size: 1.4rem;
	}

	.logo-text {
		position: absolute;
		top: 140px;
		width: 580px;
	}

	.punkt,
	.punkt2,
	.punkt3 {
		position: absolute;
		width: 300px;
		height: 300px;
		top: 90px;
		opacity: 0;
		animation: myAnim 6s;
		animation-iteration-count: infinite;

	}

	.punkt2 {
		animation-delay: 2s;
	}

	.punkt3 {
		animation-delay: 4s;
	}


	img.logo {
		width: 20vw;
		height: auto;
	}

	img.bln {
		width: 80vw;
	}

	nav ul {
		list-style: none
	}

	nav ul li {
		font-size: 1.6rem;
		font-weight: 400;
		color: #3a6786;
		color: var(--brand-gelb);
	}

	.hamburger,
	.schliessen {
		position: fixed;
		height: 44px;
		width: 44px;
		border-radius: 50%;
		top: 14px;
		right: 5vw;
		z-index: 4;
		box-shadow: 1px 1px 10px #0000001a;
		display: none
	}

	.hamburger.sichtbar,
	.schliessen.sichtbar {
		display: block;
		/* transition: .5s; */
	}

	.inhaltsverzeichnis {
		display: block;
		z-index: 3;
		position: fixed;
		top: -80vh;
		transition: .6s;
		width: 100vw;
		height: 80vh;
		background: #fff;
		box-shadow: 1px 1px 10px #0000001a;

	}

	.inhaltsverzeichnis.aufgeklappt {
		top: 0;
		transition: .5s;
	}

	.inhaltsverzeichnis .wrapper {
		display: flex;
		justify-content: flex-start;
		margin-top: 44px;
		min-height: inherit;
		flex-direction: column;
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) {
		margin-top: 0;
		padding-top: 0;
	}

	.inhaltsverzeichnis ul {
		list-style: none;
	}

	.inhaltsverzeichnis ul li {
		font-size: 2.0rem;
		font-weight: 400;

		padding: 22px 0 0px 0;
		line-height: 1.3;
	}

	.inhaltsverzeichnis ul li a {
		text-decoration: none;
		color: #000;

	}

	.inhaltsverzeichnis ul li a:hover {
		text-decoration: none;
		color: var(--accent-rot);

	}


	.inhaltsverzeichnis .social {
		height: 32px;
		width: auto;
		margin: -8px 4px 0 0;
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) div {
		margin-right: 22px;
	}

	.inhaltsverzeichnis img {
		width: 40vw;
	}

	.galerie_btn {
		display: block;
		top: -44px;
		right: 12px;
		height: 18px;
		position: relative;
		float: right;
		pointer-events: none;
	}

	a.button {
		font-size: 1.6rem;
		color: #000;
		text-decoration: none;
		padding: 8px 14px 6px;
		border: 1px dotted #000;
		border-radius: 5px;

	}


	p {
		font-size: 1.8rem;
		font-weight: 400;
		margin-bottom: 1.5rem;
	}

	p.gross {
		font-size: 1.8rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}

	h1 {
		font-size: 7.5rem;
		font-weight: 900;
		margin: 3rem 3rem 3rem .1rem;
	}

	h2 {
		font-size: 5.5rem;
		font-weight: 900;
		margin: 3rem 3rem 3rem .1rem;
	}


	h3,
	.ph3 p,
	p.ph3,
	ul.ph3 {
		font-size: 2.9rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}

	h3.programm {
		font-size: 3.8rem;
	}



	ul.ph3 li {
		margin-bottom: 1.5rem;
	}



	h4,
	.ph4 p,
	p.ph4,
	ul.ph4 {
		font-size: 1.8rem;
		font-weight: 400;
	}

	p.gross {
		font-size: 1.6rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}

	p.topline~h3 {
		margin-top: 0;
	}

	ul.ph4 li {
		margin-bottom: 1rem;
	}

	.wrapper {
		max-width: 100vw;
		margin: 0 auto;
		padding: 6rem 0rem 9rem 0rem;
	}

	.col-2 {
		width: calc(16.66665% - 6rem);
		padding: 0 3rem;
	}

	.col-3 {
		width: calc(25% - 6rem);
		padding: 0 3rem;
	}

	.col-4 {
		width: calc(33.3333% - 6rem);
		padding: 0 3rem;
	}

	.col-5 {
		width: calc(41.666% - 6rem);
		padding: 0 3rem;
	}
	.col-6 {
		width: calc(50% - 6rem);
		padding: 0 3rem;
	}
	.col-6-programm {
		width: calc(48% - 6rem);
		padding: 0 3rem;
	}

	.col-8 {
		/* border: 1px dotted; */
		width: calc(66.6666% - 6rem);
		padding: 0 3rem;
	}

	.col-10 {
		/* border: 1px dotted; */
		width: calc(83.333% - 6rem);
		padding: 0 3rem;
	}

	.col-12 {
		/* border: 1px dotted; */
		width: calc(100% - 6rem);
		padding: 0 3rem;
	}
	.col-12-schmal {
		/* border: 1px dotted; */
		width: calc(100% - 32rem);
		padding: 0 16rem 0 6rem;
	}

	.col8~.col4 {
		padding-left: 0;
	}

	.text-box {
		margin: 0.5rem 0 0 0;
	}

	figure {
		width: 100%;
		height: auto
	}

	figure img {
		width: 100%;
		height: auto
	}






	.top-abstand {
		padding-top: 8rem;
	}

	.non100 figure {
		width: 84%;
		height: auto;
		margin-left: 8%
	}

	p a {

		background-size: 18px;
		background-position: 0px 2px;
		padding-left: 24px;

	}

	p.topline a {
		background-size: 12px;
		background-position: 0px 2px;
		padding-left: 16px;
	}

}

@media (min-width: 1024px) {
	
	


	.desktop {
		display: block;
	}

	.mobile {
		display: none !important;
	}

	.hamburger {
		display: none !important;
	}

	.rahmen {
		border: 1px dashed var(--brand-rot);
		margin: auto 200px;
		max-width: 1392px;
		margin: 0 auto;
	}

	.rahmen~.wrapper {
		padding: 5rem 0 5rem 0;
	}

	section {
		display: block;
		padding: 5rem 0 5rem 0;
	}

	.galerie_btn {
		display: block;
		top: -50px;
		right: 15px;
		height: 22px;
		position: relative;
		float: right;
		pointer-events: none;
	}
	h2 {
		font-size: 5.5rem;
		font-weight: 900;
		margin: 1.5rem 0;
	}
	

	h3,
	.ph3 p,
	p .ph3 {
		font-size: 2.5rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}
	
	section.mitte-fest h3{
		margin: 5.5rem 0 2.5rem 0;
	}

	h4 {
		font-size: 2.0rem;
		font-weight: 400;
		margin-bottom: 1.5rem
	}
	
	

	p,
	ul,
	ol {
		font-size: 1.8rem;
		font-weight: 400;
		margin-bottom: 2.5rem;
	}

	ul.footer-nav {
		margin-bottom: 0;
	}

	.ph4 p,
	p.ph4 {
		font-size: 1.8rem;
		font-weight: 400;
	}

	p.gross {
		font-size: 2.4rem;
		font-weight: 400;
		letter-spacing: .01em;
		margin: 0rem 0 3.5rem 0;
	}

	p.topline~h3 {
		margin-top: 0;
	}
	ol {
	  list-style: none;
	  counter-reset: nummer;
	  padding: 0 200px 0 0;
	}
	
	ol li {
	  counter-increment: nummer;
	  position: relative;
	  padding-left: 2.3rem;
	  margin-bottom: 1rem;
	}
	
	ol li::before {
	  content: counter(nummer) ")";
	  position: absolute;
	  left: 0;
	  /* color: var(--accent-rot); */
	 
	}
	
	.video-container p{
		margin-top: .75rem;
		 font-size: 1.4rem;
	}
	.zweispaltig {
	  column-count: 2;
	  column-gap: 2rem;
	}




	header {
		width: 100vw;
		height: 520px;
		background: rgba(255, 255, 255, 1)
	}

	.header-logo {
		width: 168px;
		height: auto;
		top: 13px;
		position: fixed;
		right: 5vw;
		z-index: 9;
	}

	footer ul.footer-nav li,
	footer ul.footer-nav li a {
		list-style: none;
		padding-right: .5rem;
		font-size: 1.2rem;
	}

	nav {
		position: fixed;

		top: 0px;
		left: 0;
		width: 96vw;
		padding: 12px 2vw 6px 2vw;
		z-index: 3;
		text-align: center;
		background: #fff;
	}

	nav ul {
		list-style: none;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		max-width: 1500px;
		margin: 0 auto;

	}

	nav ul li {
		display: inline-block;
		font-size: 1.4rem;
		font-weight: 400;
	}

	nav ul li a:hover {
		color: var(--brand-rot);
	}

	.logo-text {
		position: absolute;
		top: 160px;
		width: 380px;
	}

	.punkt,
	.punkt2,
	.punkt3 {
		position: absolute;
		width: 380px;
		height: 380px;
		top: 196px;
		opacity: 0;
		animation: myAnim 6s;
		animation-iteration-count: infinite;

	}

	.punkt2 {
		animation-delay: 2s;
	}

	.punkt3 {
		animation-delay: 4s;
	}




	img.logo {
		width: 20vw;
		height: auto;
	}

	img.bln {
		width: 40vw;

	}


	.hamburger,
	.schliessen {
		display: none
	}

	.hamburger,
	.schliessen,
	.inhaltsverzeichnis {
		display: none;
		/* transition: .5s; */
	}

	.inhaltsverzeichnis {
		z-index: 2;
		position: fixed;
		top: -66vh;
		transition: .6s;
		width: 100vw;
		height: 66vh;
		background: #fff;
		box-shadow: 1px 1px 10px #0000001a;

	}

	.inhaltsverzeichnis.aufgeklappt {
		top: 0;
		transition: .5s;
	}

	.inhaltsverzeichnis .wrapper {
		display: flex;
		justify-content: flex-start;
		margin-top: 44px;
		height: inherit
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) {
		margin-top: 0;
		padding-top: 0;
	}

	.inhaltsverzeichnis ul {
		list-style: none;
	}

	.inhaltsverzeichnis ul li {
		font-size: 2.0rem;
		font-weight: 400;

		padding: 22px 0 0px 0;
		line-height: 1.3;
	}

	.inhaltsverzeichnis ul li a {
		text-decoration: none;
		color: #000;

	}

	.inhaltsverzeichnis ul li a:hover {
		text-decoration: none;
		color: var(--accent-rot);

	}


	.inhaltsverzeichnis .social {
		height: 32px;
		width: auto;
		margin: -8px 4px 0 0;
	}

	.inhaltsverzeichnis .wrapper:nth-child(2) div {
		margin-right: 22px;
	}

	a.button {
		font-size: 1.6rem;
		color: #000;
		text-decoration: none;
		padding: 8px 14px 6px;
		border: 1px dotted #000;
		border-radius: 5px;

	}

	h2.wrapper,
	.wrapper {
		max-width: 1288px;
		margin: 0 auto;
		padding: 7rem 6rem 5rem 6rem;
		padding: 5rem 6rem 5rem 6rem;
	}

	footer .wrapper {
		padding: 1rem 6rem;
		max-width: 1288px;
	}

	.text-box {
		margin: 3rem 3rem 4rem 3rem;
	}



	.top-abstand {
		padding-top: 8rem;
	}

	.non100 figure {
		width: 84%;
		height: auto;
		margin-left: 8%
	}

	.bottom-null {
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.top-null {
		padding-top: 8px;
	}

	figure img.halbe-groesse {
		width: 100%;
		text-align: center;
	}
	
	.flex-space-between{
		justify-content: space-between;
	}






}

@media (min-width: 1200px) {
	nav ul li {
		display: inline-block;
		font-size: 1.6rem;
		font-weight: 400;
	}

	iframe.iframe {
		border: none;
		min-width: min(95%, 430px);
		max-width: 97%;
		margin-top: 1.5rem;
	}
}

@media (min-width: 810px)and (max-width: 1024px) {
	
	
	
	.col-8~.col-4 {
		padding: 0;
		width: calc(33.3333% - 3rem);
	}

	.col-4~.col-8 {
		padding: 0;
		width: calc(66.6666% - 3rem);
	}

	/* .wrapper > .col-4{
		padding-right: 0;
	} */

	.iframe {
		border: none;
		min-width: min(95%, 430px);
		max-width: 97%;
		margin-top: 1.5rem;
	}
}


/* responsive iframe video */

.responsive-iframe-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top: 56.25%;
	/* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/* ausblenden */

/* form, .hamburger, nav{
	display: none
}
.schatten{
	box-shadow: none;
} */