/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/pt-sans-v18-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('fonts/pt-sans-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/pt-sans-v18-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/pt-sans-v18-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/pt-sans-v18-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/pt-sans-v18-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
}
/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/pt-sans-v18-latin-700.eot'); /* IE9 Compat Modes */
  src: url('fonts/pt-sans-v18-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/pt-sans-v18-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('fonts/pt-sans-v18-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('fonts/pt-sans-v18-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('fonts/pt-sans-v18-latin-700.svg#PTSans') format('svg'); /* Legacy iOS */
}

body {
    font-family: 'PT Sans', arial;
    font-size: 14px;
	font-weight: 400;
    color: #4d4d4d;
	margin: 0;
}

strong{
	font-weight: 700;
}

#oben, #header, #inhaltsbereich, #footer {
    float: left;
    clear: both;
    width: 100%;
}

.symbol {
	display: inline-block;
}

.symbol::before {
	content: "\0040";
}

img{
	max-width: 100%;
	height: auto;
}

.hnavi{
    float: left;
}

.uebernavi {
	float: left; 
	width: 100%;
	clear: both;
}

/* -- Sprachmenü -- */
.top-navi {
    position: absolute;
	top: 0;
	right: 2%;
}

.top-navi ul {
	margin: 10px 0 0 0;
	padding: 0;
	float: left;
	width: 100%;
	clear: both;
}

.top-navi ul li{
	font-size: 14px;
	display: inline-block;
	padding: 0 5px;
	border-right: 1px solid #fff;
}


.top-navi ul li:last-child{
	border-right: none;
}

.top-navi ul li a{
	color: #fff;
	text-decoration: none;
}

.top-navi ul li:hover a,
.top-navi ul li.act{
	font-weight: 700;
}

.top-navi ul li.act a{
	cursor: default;
}
/* -- Sprachmenü -- */

#inhaltsbereich{
	min-height: calc(100vh - 362px);
}

#inhaltsbereich > .frame{
	margin: 70px 0;
	float: left;
    clear: both;
    width: 100%;}

#inhaltsbereich > .frame > .rahmen,
#inhaltsbereich > .tx_cn-multicontent > .rahmen {
    width: 80%;
	float: none;
    clear: both;
    margin: 0 auto;
    max-width: 1100px;
}

#oben{
	background: #9a0000;
	position: fixed;
	z-index: 5;
	box-shadow: 0 0 2px #4a4a4a;
}

#inhaltsbereich a{
	text-decoration: none;
	color: #4d4d4d;
	font-weight: 700;
}

a.link-internal{
	background: #fff;
	border: 1px solid #9a0000;
	padding: 5px 25px;
	transition: all 0.3s linear;
}

a.link-internal:hover{
	background: #9a0000;
	color:#fff !important;
}

.text-right a.link-internal {
    margin-right: 50px;
    position: relative;
    margin-top: 50px;
    float: right;
}

.text-right a.link-internal::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 15px;
    width: 80vw;
    height: 1px;
    background: #9a0000;
}

.text-right a.link-internal::after {
    content: '';
    position: absolute;
    left: 100%;
    top: 15px;
    width: 50px;
    height: 1px;
    background: #9a0000;
}

#inhaltsbereich ul{
	list-style-image: url(haken.svg);
}

#inhaltsbereich ul li{
	margin: 10px 0;
}
/* -- Logo -- */
#oben > .frame-default a{
	color: #fff;
	font-size: 30px;
	text-decoration: none;
	margin-left: 2%;
}
/* -- Logo -- */
/* -- Navi -- */
.hnavi{
	background: #e92121;
	width: 98%;
	margin: 0;
	padding: 0 2% 0 0;
	text-align: right;
	list-style-type: none;
	height: 40px;
}

.hnavi li{
	display: inline-block;
	position: relative;
}

.hnavi > li > a{
	float: left;
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	padding: 7px 20px;
	text-transform: uppercase;
}

.hnavi > li.act > a,
.hnavi > li:hover > a{
	font-weight: 700;
}

.hnavi li:last-child a{
	padding-right: 0;
}

.hnavi li:hover .unavi{
	display: block;
}

.unavi{
	position: absolute;
	background: #fff;
	padding: 0;
	width: 400px;
	text-align: left;
	top: 40px;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
	display: none;
}

.unavi li{
	width: 100%;
}

.unavi li a{
	color: #4d4d4d;
	font-size: 15px;
	float: left;
	width: calc(100% - 40px);
	text-decoration: none;
	padding: 7px 20px;
}

.unavi li:hover a{
	font-weight: 700;
}

/* -- Navi -- */
/* -- mobile Navi -- */
.mob_button {
	position: absolute;
    right: 2%;
    top: 5px;
    z-index: 5;
    margin: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
	display: none;
}

.mob_button span {
	background-color: #fff;
	height: 3px;
	left: 7px;
	margin-top: -1px;
	position: absolute;
	top: 50%;
	width: 45px;
	transition: all 0.3s ease 0.3s;
}

.mob_button span::after, .mob_button span::before {
	backface-visibility: hidden;
	background-color: #fff;
	content: "";
	height: 3px;
	position: absolute;
	transform: translateZ(0px);
	transition: all 0.3s ease 0.3s;
	width: 100%;
	display: block;
}

.mob_button span::before {
	transform: translateY(-12px);
}

.mob_button span::after {
	transform: translateY(12px);
}

.mobnavvisible.mob_button span {
	background-color: transparent;
}

.mobnavvisible.mob_button span::before {
	transform: translateY(0px) rotate(-45deg);
}

.mobnavvisible.mob_button span::after {
	transform: translateY(0px) rotate(45deg);
}
/* -- mobile Navi -- */
/* -- Header -- */
#header{
	max-height: 650px;
	overflow: hidden;
	border-bottom: 1px solid #9a0000;
	margin-top: 105px;
}

#header .ce-gallery,
#header .ce-row,
#header .ce-column,
#header .image,
#inhaltsbereich .ce-row,
#inhaltsbereich .ce-column,
#inhaltsbereich .image{
	width: 100%;
}

#header .ce-textpic{
	position: relative;
	max-height: 650px;
}


#header .ce-gallery::after {
    content: '';
    position: absolute;
    left: -10vw;
    bottom: -15vw;
    width: 70vw;
    height: 30vw;
    background: #fff;
    opacity: 0.2;
    transform: rotate(25deg);
}

#header .ce-bodytext{
	position: absolute;
	bottom: 80px;
	right: 0;
	text-align: right;
	color: #fff;
	font-size: 24px;
}

#header .ce-bodytext p:first-child{
	background: #9a0000;
	padding: 15px 30px;
	float: right;
	clear: both;
}

#header .ce-bodytext p:last-child{
	background: #e92121;
	font-size: 36px;
	padding: 15px 30px;
	float: right;
	clear: both;
	margin-top: 0;
}

#header .ce-gallery{
	margin-bottom: 0;
}
/* -- Header -- */

/* -- Inhaltsbereich -- */
#inhaltsbereich > .frame-layout-1{
	background: #f1f1f1;
	margin: 0 !important;
	padding: 70px 0;
}

#inhaltsbereich > .tx_cn-multicontent + .frame-layout-1 {
	margin-top: 70px !important;
}

#inhaltsbereich > .frame-layout-1 + .frame-layout-1{
	padding-top: 0;
	margin-top: -50px !important;
}

#inhaltsbereich > .frame-default h1,
#inhaltsbereich > .frame-default h2,
#inhaltsbereich > .frame-bildslider h1,
#inhaltsbereich > .frame-bildslider h2,
#inhaltsbereich > .frame-umrandung h1,
#inhaltsbereich > .frame-umrandung h2{
	font-size: 14px;
	margin-bottom: 0;
	background: #e92121;
	color: #fff;
	float: left;
	clear: both;
	padding: 10px 30px;
	margin-left: -115px;
}

#inhaltsbereich > .frame-default h1+h2,
#inhaltsbereich > .frame-default h3,
#inhaltsbereich > .frame-bildslider h1+h2,
#inhaltsbereich > .frame-bildslider h3,
#inhaltsbereich > .frame-umrandung h1+h2,
#inhaltsbereich > .frame-umrandung h3{
	background: #9a0000;
	color: #fff;
	font-size: 24px;
	float: left;
	clear: both;
	padding: 10px 30px;
	margin-left: -30px;
	margin-top: 10px;
}

#inhaltsbereich > .frame-default h1+h2 a,
#inhaltsbereich > .frame-default h3 a,
#inhaltsbereich > .frame-bildslider h1+h2 a,
#inhaltsbereich > .frame-bildslider h3 a,
#inhaltsbereich > .frame-umrandung h1+h2 a,
#inhaltsbereich > .frame-umrandung h3 a{
	color: #fff;
}

#inhaltsbereich > .frame-type-header{
	margin-bottom: 0;
}

#inhaltsbereich > .frame-layout-0 + .frame-layout-0,
#inhaltsbereich > .frame-layout-0 + .frame-layout-3 {
	margin-top: 0;
}

#inhaltsbereich > .frame-type-header + .frame{
	margin-top: 50px;
}



header,
.ce-textpic{
	float: left;
	clear: both;
	width: 100%;
}




/* -- Überschrift Tätigkeitsbereiche -- */
#inhaltsbereich > .frame-leistung{
	margin-bottom: 0 !important;
}

#inhaltsbereich > .frame-leistung+.frame{
	margin-top: -70px;
}

.frame-leistung .ce-textpic{
	margin-left: -115px;
}

#inhaltsbereich > .frame-leistung .ce-bodytext h2{
	font-size: 14px;
	margin-bottom: 0;
	background: #e92121;
	color: #fff;
	float: left;
	clear: both;
	padding: 10px 30px;
}

#inhaltsbereich > .frame-leistung .ce-bodytext h1{
	background: #9a0000;
	color: #fff;
	font-size: 24px;
	float: left;
	clear: both;
	padding: 10px 30px;
	margin-top: 10px;
	margin-left: 85px;
}
/* -- Überschrift Tätigkeitsbereiche -- */

/* -- Text mit roter Linie -- */
.frame-linie h1, .frame-linie h2{
	font-size: 36px;
	margin-bottom: 0;
}

.frame-linie h1+h2,
.frame-linie h3{
	color: #9a0000;
	font-size: 14px;
	margin-top: 0.5em;
}

#inhaltsbereich .frame-linie{
	margin: 0;
}

#inhaltsbereich > .frame-linie > .rahmen{
	position: relative;
	padding: 70px 0;
	float: inherit;
    margin: 0 calc(50vw - 550px);
}

.frame-linie > .rahmen::before{
	content: '';
	position: absolute;
	left: 160px;
	top: 0;
	height: 100%;
	width: 1px;
	background: #742626;
	z-index: -1;
}

.frame-linie header{
	background: #fff;
}

.frame-linie header > *:last-child{
	margin-left: 60px;
	padding-bottom: 40px;
}

.frame-linie .ce-bodytext{
	margin-left: 180px;
}

/* -- Text mit roter Linie -- */
/* -- Flipboxen -- */
.frame-flip{
	background: #4d4d4d;
	color: #fff;
	padding: 70px 0;
	margin: 0  !important;
	position: relative;
	overflow: hidden;
}

.frame-flip > .rahmen{
    display: flex;
    justify-content: space-between;
	position: relative;
}

.frame-flip .frame-default{
	width: 230px;
}

.frame-flip h2{
	font-size: 24px;
	font-weight: 400;
	position: relative;
	z-index: 2;
}

.frame-flip .ce-textpic{
	position: relative;
	border: 3px solid #fff;
	border-radius: 50%;
	z-index: 2;
}

.frame-flip .ce-bodytext{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	padding: 0 15px;
	transition: all 0.2s linear;
}

.frame-flip .ce-gallery{
	margin: 0;
	opacity: 1;
	transition: all 0.2s linear;
}

.frame-flip .frame-default:hover .ce-bodytext{
	opacity: 1;
	transition: all 0.2s linear;
}

.frame-flip .frame-default:hover .ce-gallery{
	opacity: 0;
	transition: all 0.2s linear;
}

.frame-flip::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 420px 0 0 270px;
    border-color: #9a0000 transparent transparent transparent;
}

.frame-flip::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 0 0 420px 640px;
    border-color: transparent transparent transparent #742626;
}

.frame-flip > .rahmen::after {
    content: '';
    position: absolute;
    right: -21vw;
    bottom: -70px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 340px 1200px 0 0;
    border-color: transparent #717171 transparent transparent;
}
/* -- Flipboxen -- */
/* -- Leistungen -- */
.frame-leistungen > .rahmen{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.frame-leistungen .frame-default{
	width: calc(30% - 40px);
	max-width: 260px;
	border: 1px solid #9a0000;
	margin-bottom: 60px;
	padding: 40px 20px;
}

.frame-leistungen strong{
	color: #9a0000;
}

.frame-leistungen img{
	max-width: 90px;
	height: auto;
}

#inhaltsbereich .frame-leistungen a{
	color: #4d4d4d;
	text-decoration: none;
	font-weight: 400;
}

.frame-leistungen .ce-textpic:hover strong{
	color: #4d4d4d;
}

.frame-leistungen .ce-textpic:hover .ce-gallery {
    filter: grayscale(1) brightness(2.2);
}
/* -- Leistungen -- */
/* -- Bildslider -- */
#inhaltsbereich:not(.sub) .frame-bildslider > .rahmen{
	display: flex;
    justify-content: space-between;
}

#inhaltsbereich.sub .frame-bildslider .frame{
	float: left;
	margin-right: 60px;
}

.frame-bildslider .image{
	position: relative;
}

.frame-bildslider .ce-gallery figcaption {
	text-align: center;
    height: calc(100% - 20px);
	top: calc(100% - 50px);
    padding: 10px;
    background: rgb(255 255 255 / 80%);
    z-index: 2;
    position: absolute;
    width: calc(100% - 20px);
	font-weight: 400;
	transition: all 0.3s ease 0.3s;
}

.fett{
	font-weight: 700;
}

.frame-bildslider .image:hover figcaption{
	top: 0;
}

.frame-bildslider .ce-gallery{
	padding-bottom: 30px;
}

.owl-dots {
    float: right;
    clear: both;
    display: block;
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;
	width: 100%;
	display: flex;
    justify-content: center;
    margin-top: 10px;
}

.owl-dot {
    background: #fff !important;
    display: inline-block;
    vertical-align: bottom;
    float: none;
    width: 14px;
    height: 14px;
    margin: 0 0 0 7px;
    position: relative;
    z-index: 2;
	border: 1px solid #9a0000 !important;
	border-radius: 50%;
}
.owl-dot.active {
    background: #9a0000 !important;
}
/* -- Bildslider -- */
/* -- roter Rahmen -- */
.frame-umrandung .ce-textpic{
	padding: 40px 20px;
	border: 1px solid #9a0000;
	margin-top: 70px;
	width: calc(100% - 40px);
}

.frame-umrandung .ce-left .ce-gallery{
	margin-right: 25px;
}

.frame-umrandung .ce-right .ce-gallery{
	margin-left: 25px;
}
/* -- roter Rahmen -- */
/* -- News -- */
.news-text,
.news-list-date,
.more{
	float: left;
	clear: both;
	width: 100%;
}

.news-related-files {
    width: 100%;
    border: none;
    padding: 0;
}

#inhaltsbereich .news-related-files ul{
	list-style-image: url(pdf.svg);
	padding: 0 0 0 20px;
}

.news-backlink-wrap{
	margin-top: 50px;
}

.news .article:not(:last-child){
	border-bottom: 1px solid #f1f1f1;
	margin-bottom: 40px;
	padding-bottom: 40px;
}
/* -- News -- */
/* -- Akkordeon -- */
.tx_cn-multicontent .col-75 .tx_cn-multicontent{
	margin-left: 0 !important;
}
#inhaltsbereich > .tx_cn-multicontent h3.ui-corner-top {
	background: none;
    font-size: 14px;
    margin: 5px 0 0 0;
    padding: 10px 50px 10px 10px;
	border: 1px solid #9a0000;
    cursor: pointer;
    position: relative;
    width: calc(100% - 62px);
    outline: none !important;
}

#inhaltsbereich > .tx_cn-multicontent h3.ui-corner-top a{
	color: #4d4d4d;
}

.ui-corner-top::after {
    content: '+';
    color: #4d4d4d;
    background-size: 100%;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 6px;
    font-size: 20px;
    right: 3%;
    transition: all 0.3s ease 0.3s;
}

.ui-accordion-header-active::after{
	content: '-';
}

.ui-accordion-content{
	background: #f1f1f1;
	padding: 20px;
	width: calc(100% - 40px);
	margin-bottom: 40px;
}

#inhaltsbereich > .tx_cn-multicontent.frame-anwalt h2{
	font-size: 24px;
    margin-bottom: 0;
    background: none;
    color: #4d4d4d;
    padding: 0;
    margin-left: 0 !important;
}

.frame-anwalt .tx_cn-columns .row > div > div{
	width: 100%;
	margin: 0;
}

.frame-anwalt:nth-child(odd) .col-75{
	margin-right: 20px;
	width: calc(75% - 20px);
}

.frame-anwalt:nth-child(even) .col-75{
	margin-left: 20px;
	width: calc(75% - 20px);
}

#inhaltsbereich > .frame-anwalt.frame-type-textmedia .ce-gallery{
	max-width: 25%;
}
/* -- Akkordeon -- */
/* -- Vollbreite -- */
#inhaltsbereich > .frame-vollbreit{
	margin-top: 0 !important;
	height: 300px;
}
#inhaltsbereich > .frame-vollbreit > .rahmen{
	width: 100% !important;
	margin: 0 !important;
	max-width: unset;
}

@media not all and (min-resolution:.001dpcm) { 
	@supports (-webkit-appearance:none) {
		#inhaltsbereich > .frame-vollbreit{
			background-attachment: inherit !important;
			background-size: cover !important;
			background-repeat: no-repeat !important;
			background-position: center center !important;
			height: auto ;
		}
	}
}
/* -- Vollbreite -- */
/* -- Formular -- */
.tx-powermail{
	font-family: 'PT Sans Narrow', arial, sans-serif;
    font-size: 14px;
	font-weight: 400;
    color: #231f20;
	margin: 0;
}
.powermail_fieldset{
	border: none;
	padding: 0;
	width: 100%;
}

.powermail_fieldwrap{
	width: 49%;
	display: inline-block;
	vertical-align: top;
	margin-bottom: 30px;
}

.powermail_fieldwrap:nth-child(odd){
	margin-right: 1%;
}

.powermail_fieldwrap:nth-child(even){
	margin-left: 1%;
}
.powermail_input,
.powermail_textarea,
.powermail_captcha   {
	width: calc(100% - 20px);
	font-family: 'PT Sans Narrow', arial, sans-serif;
    font-size: 14px;
	font-weight: 400;
    color: #4d4d4d;
	padding: 5px 10px;
	border: none;
	background: #e3e3e3;
	-moz-appearance: none;
	-webkit-appearance: none;
	resize: none;
	outline: none;
}

.powermail_submit{
	font-family: 'PT Sans', arial, sans-serif;
    font-size: 14px;
	font-weight: 400;
	background: #fff;
    border: 1px solid #9a0000;
	border-radius: 0;
    padding: 5px 25px;
    transition: all 0.3s linear;
	cursor: pointer;
	float: right;
	color: #231f20;
	-webkit-appearance: none;
}

.powermail_submit:hover{
	background: #9a0000;
	color: #fff;
}

#inhaltsbereich .parsley-errors-list{
	list-style-image: none !important;
	list-style-type: none;
	margin: 0;
	padding: 0;
	color: #e92121;
}

#inhaltsbereich .parsley-errors-list li{
	margin: 0;
}
/* -- Formular -- */
#inhaltsbereich .frame-keinabstand{
	margin: 0;
}
/* -- Download-Link -- */
a.link-download{
	position: relative;
	padding-left: 30px;
	display: block;
}

a.link-download::before{
	content: '';
	background: url(pdf.svg) center center/contain no-repeat;
	position: absolute;
	left: 0px;
	top: -4px;
	width: 25px;
	height: 25px;
}
/* -- Download-Link -- */

/* Tabele Kontakt */
table td {
	padding-right: 20px;
}
/* Tabele Kontakt */


/* -- Inhaltsbereich -- */

/* -- Footer -- */
#footer{
	background: #4d4d4d;
	color: #fff;
	padding: 30px 0;
	position: relative;
	overflow: hidden;
}

#footer > .frame > .rahmen{
	width: 96%;
	margin: 0 auto;
}

#footer a{
	color: #fff;
	text-decoration: none;
}

#footer a:hover{
	font-weight: 700;
}

#footer .ce-bodytext{
	position: relative;
	z-index: 3;
	max-width: 50%;
}

.qnavi{
	list-style-type: none;
	padding: 0;
	margin: 0;
	position: absolute;
	text-align: right;
	right: 2%;
	top: 50px;
	z-index: 2;
}

#footer .ce-gallery{
	margin-top: 70px;
	position: relative;
	z-index: 2;
}

#footer::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 200px 370px 0 0;
    border-color: transparent #9a0000 transparent transparent;
}

#footer::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 440px 0 0 270px;
    border-color: #742626 transparent transparent transparent;
}
/* -- Footer -- */

/* -- Mediaconsent -- */
.mediaconsent {
    margin: 30px 0 50px;
    position: relative;
    overflow: hidden;
}

.mediaconsent iframe {
    position: relative;
    z-index: 1;
}

.mapsoverlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background: rgba(245,245,245,0.6);
    cursor: pointer;
	text-align: center;	
	/* display: table;
	width: 100%;
	height: 100%; */
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: stretch;
	align-content: stretch;	
    padding: 20px;
}

.cookie_only-this {
    background: #6c757d;
    color: #fff;
    border-radius: 3px;
    -webkit-appearance: none;
	padding: 11px 20px 10px;
	/* margin: 0 10px 0 0; */
	margin: 5px;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
}

#cookie_einstellungen {
	margin: 5px;
}

div[data-type="maps"] {
	display: none;
}

.mapsoverlay div[data-type="maps"] {
	display: block;
	/* display: table-cell;
	vertical-align: middle;
	padding: 40px 0; */
}

/* --- Popup --- */
.popup_overlay {
	display: none;
	opacity: 0;
    position: fixed;
    background: rgba(0,0,0,0.5);
    height: 100%;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	z-index: 100;
} 

.popup_banner {
	display: block;
	position: fixed;
	font-size: 20px;
    top: 50px;
    left: 25%;
    z-index: 110;
	text-align: center;
	background: #FFF;
    width: calc(50% - 20px);
	padding: 50px 10px 20px;
	overflow-y: scroll;
	max-height: calc(100vh - 170px);
}

.popup_banner h2,
.popup_banner h3,
.popup_banner h4 {
	color: #9a0000;
}

/* .popup_banner h2{
	text-align: center;
}

.popup_banner h3{
	font-size: 30px;
	font-weight: 400;
	color: #9a0000;
	line-height: 1.2em;
} */

.popup_banner .ce-bodytext{
	display: flex;
    flex-direction: column;
    align-items: center;
}

.popup_banner .popup_close {
	display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    color: #05495d;
    cursor: pointer;
	background: url(lightbox_close.png) right center/contain no-repeat;
    background-size: 15px;
    padding-right: 25px;
}


/* --- Popup --- */
/*
     FILE ARCHIVED ON 12:11:51 Nov 29, 2025 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 12:07:20 Feb 16, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.591
  exclusion.robots: 0.02
  exclusion.robots.policy: 0.008
  esindex: 0.01
  cdx.remote: 1299.964
  LoadShardBlock: 188.838 (3)
  PetaboxLoader3.datanode: 184.871 (4)
  PetaboxLoader3.resolve: 125.33 (2)
  load_resource: 163.447
*/



.container {
    display: flex;
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px;
    flex-wrap: wrap;
}

.item {
    flex: 1 1 0;
    min-width: 0;
    text-align: center; /* Text zentriert unter dem Bild */
}

.item img {
    width: 100%;
    height: auto;
}

.articletype-0 {
	margin-bottom: 50px;
}

@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }
}

