/* 
Farben:
#0072c4	blau logo
#e00000	rot logo
*/

html {
	width: 100%;
	height: 100%;
	position: relative;
	margin: 0px !important;
	padding: 0px !important;
	border: 0px !important;
}

body {
	width: 100%;
	height: 100%;
	font-size: 100.01%;
	margin: 0px !important;
	padding: 0px !important;
	border: 0px !important;
	color: #000;
	background-color: #fff;
	font-family: "PT Sans",sans-serif;
}

/* pt-sans-regular - latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/pt-sans-v10-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('PT Sans'), local('PTSans-Regular'),
       url('../Fonts/pt-sans-v10-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../Fonts/pt-sans-v10-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../Fonts/pt-sans-v10-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../Fonts/pt-sans-v10-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../Fonts/pt-sans-v10-latin-regular.svg#PTSans') format('svg'); /* Legacy iOS */
}

/* start - Slider Startseite ##################################################################################################################### */

.carousel .vcontainer {
	background: rgba(0, 0, 0, 0.3);
}

.carousel h1.carousel-header {
}
.carousel h2.carousel-subheader {
	font-size: 18px;
}

/* ende  - Slider Startseite ##################################################################################################################### */

/* start - Header ################################################################################################################################ */

header#page-header div.container {
	background: rgba(255, 255, 255, 0.8) !important;
	max-width: unset;
}

header.navbar-transition div a img.navbar-brand-logo-normal {
	display: none !important;
}
header.navbar-transition div a.navbar-brand-image {
	width: 160px;
	min-width: 160px;
	height: 60px;
	background: url('../Images/Layout/martinsheim-wappen-und-name160x40-s080.png') no-repeat 0 10px !important;
}

/* ende  - Header ################################################################################################################################ */

/* start - nicht responsive Navigation ########################################################################################################### */

.navbar-mainnavigation > .container > .navbar-collapse {
	padding-right: 120px;
}

#mainnavigation:not(.show) .navbar-nav, 
#mainnavigation:not(.show) .container > .collapse > .navbar-nav, 
#mainnavigation:not(.show) .container-fluid > .collapse > .navbar-nav {
	flex-direction: unset;
}

#mainnavigation:not(.show) .navbar-nav {
	display: inline-block;
}

.dropdown-menu {
	background: rgba(255, 255, 255, 0.95);
}
#mainnavigation:not(.show) ul.navbar-nav li.nav-item ul.dropdown-menu li.nav-item ul.dropdown-menu {
	left: unset;
	right: 190px;
	top: -9px;
}
#mainnavigation:not(.show) ul.navbar-nav li.nav-item ul.dropdown-menu li.nav-item ul.dropdown-menu li.nav-item ul.dropdown-menu {
	left: 180px;
	top: -9px;
}
#mainnavigation:not(.show) ul.navbar-nav li.nav-item ul.dropdown-menu {
	width: 200px;
}
#mainnavigation:not(.show) ul.navbar-nav li.nav-item {
	/* white-space: normal; */
	float: left;
}
#mainnavigation:not(.show) ul.navbar-nav li.nav-item ul.dropdown-menu li.nav-item {
	float: none;
}

/* ende  - nicht responsive Navigation ########################################################################################################### */

/* start - responsive Navigation ################################################################################################################# */

@media all and (max-width: 991px) {
	.navbar-mainnavigation .dropdown-menu {
		padding-left: 30px;
		padding-right: 20px;
	}
}
.dropdown-toggle {
	white-space: normal;
}

.dropdown-toggle::after {
	font-size: 36px;
	color: #0072c4;
	transform: rotate(-90deg);
}
li.show > .dropdown-toggle:hover::after,
.dropdown-toggle:hover::after {
	color: #e00000;
	transform: rotate(0deg);
}
li.show > .dropdown-toggle::after {
	transform: rotate(0deg);
}

/* ende  - responsive Navigation ################################################################################################################# */

/* start - Navigation allgemein ################################################################################################################## */

.navbar-default-transition:not(.navbar-transition) .navbar-nav > li > .nav-link, 
.navbar-inverse-transition:not(.navbar-transition) .navbar-nav > li > .nav-link, 
.navbar-default-transition:not(.navbar-transition) .navbar-nav > li > .nav-link:hover, 
.navbar-inverse-transition:not(.navbar-transition) .navbar-nav > li > .nav-link:hover, 
.navbar-default-transition:not(.navbar-transition) .navbar-nav > li > .nav-link:focus, 
.navbar-inverse-transition:not(.navbar-transition) .navbar-nav > li > .nav-link:focus {
	/* color: #000 !important; */
	color: rgba(0,0,0,0.5) !important;
}

/* ende  - Navigation allgemein ################################################################################################################## */

/* start - Content ############################################################################################################################### */

h1 {font-size: 32px;}
h2 {font-size: 26px;}
h3 {font-size: 22px;}
h4 {font-size: 20px;}
h5 {font-size: 18px;}
h6 {font-size: 16px;}

#page-content {
	font-size: 16px;
}

@media all and (min-width: 768px) {
	.textpic-item.textpic-text,
	.textmedia.textmedia-right .textmedia-item.textmedia-text {
		width: 65%;
		order: 1 !important;
	}
	.textpic-item.textpic-gallery,
	.textmedia.textmedia-right .textmedia-item.textmedia-gallery {
		width: 35%;
	}
	.gallery-item img, .gallery-item picture {
		width: 70%;
		height: auto;
	}
	figure img, figure picture {
		margin: unset;
	}
}

@media all and (min-width: 768px) {
	.textmedia.textmedia-above .textmedia-item.textmedia-gallery picture,
	.textmedia.textmedia-above .textmedia-item.textmedia-gallery picture img,
	.textmedia.textmedia-below .textmedia-item.textmedia-gallery picture,
	.textmedia.textmedia-below .textmedia-item.textmedia-gallery picture img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0;
	}
}
@media all and (max-width: 768px) {
	.textmedia.textmedia-above .textmedia-item.textmedia-gallery picture,
	.textmedia.textmedia-above .textmedia-item.textmedia-gallery picture img,
	.textmedia.textmedia-below .textmedia-item.textmedia-gallery picture,
	.textmedia.textmedia-below .textmedia-item.textmedia-gallery picture img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0;
	}
}

/* ende  - Content ############################################################################################################################### */

/* start - Footer ################################################################################################################################ */

footer#page-footer .footer-section-content-column-middle img {
	margin: 0 10px 10px 0;
}

@media all and (max-width: 991px) {
	footer#page-footer img {
		width: auto;
		max-width: 100%;
		height: auto;
	}
}
@media all and (max-width: 576px) {
	footer#page-footer img {
		width: auto;
		max-width: 250px;
		height: auto;
	}
}

/* ende  - Footer ################################################################################################################################ */

/* start - news ################################################################################################################################## */

/* start - list view startseite ################################################################ */

body.page-1 .news .news-list-view .article {
	max-width: 330px;
	padding-bottom: 0px;
	margin: 0 25px 25px 0;
	border: 1px solid #e9e9ea;
	padding: 0;
	float: left;
	background-color: #fff;
}
body.page-1 .news .news-list-view .article:nth-child(3),
body.page-1 .news .news-list-view .article:nth-child(6) {
	margin-right: 0;
}
@media all and (max-width: 1090px) {
	body.page-1 .news .news-list-view .article:nth-child(3) {
		margin-right: 25px;
	}
	body.page-1 .news .news-list-view .article:nth-child(2),
	body.page-1 .news .news-list-view .article:nth-child(4),
	body.page-1 .news .news-list-view .article:nth-child(6) {
		margin-right: 0;
	}
}
@media all and (max-width: 776px) {
	body.page-1 .news .news-list-view .article:nth-child(2),
	body.page-1 .news .news-list-view .article:nth-child(3),
	body.page-1 .news .news-list-view .article:nth-child(4),
	body.page-1 .news .news-list-view .article:nth-child(6) {
		margin-right: 25px;
	}
}
@media all and (max-width: 410px) {
	body.page-1 .news .news-list-view .article:nth-child(1),
	body.page-1 .news .news-list-view .article:nth-child(2),
	body.page-1 .news .news-list-view .article:nth-child(3),
	body.page-1 .news .news-list-view .article:nth-child(4),
	body.page-1 .news .news-list-view .article:nth-child(5),
	body.page-1 .news .news-list-view .article:nth-child(6) {
		margin-right: 0;
	}
}

body.page-1 .news .news-list-view .article .news-img-wrap {
	float: none;
	margin: 0 0 5px 0;
	height: 220px;
	max-height: 220px;
	overflow: hidden;
}

body.page-1 .news .news-list-view .article .news-img-wrap a {
	display: block;
	float: none;
	padding: 0px;
	border: none;
}

body.page-1 .news .news-list-view .article .news-img-wrap img {
	max-width: 100%;
	height: auto;
	float: none;
}

body.page-1 .news .news-list-view .article .teaser-text [itemprop="description"] {
	max-height: 100px;
	overflow: hidden;
}

body.page-1 .news .news-list-view .article .header h3 {
	line-height: 26px;
	margin-bottom: 10px;
}

body.page-1 .news .news-list-view .article .header h3 a {
	font-size: 24px;
}
body.page-1 .news .news-list-view .article .header h3 a:hover {
	color: #0072c4;
}

body.page-1 .news .news-list-view .article .header h3 a [itemprop="headline"] {
	display: inline-block;
	max-height: 52px;
	overflow: hidden;
}

body.page-1 .news .news-list-view .article .header,
body.page-1 .news .news-list-view .article .teaser-text {
	padding: 0 5px;
}

body.page-1 .news .news-list-view .article .teaser-text a.more {
	color: #0072c4;
}
body.page-1 .news .news-list-view .article .teaser-text a.more::before {
	content: '[';
}
body.page-1 .news .news-list-view .article .teaser-text a.more::after {
	content: '... ]';
}

body.page-1 .news .news-list-view .article .footer {
	display: none;
}

/* ende  - list view startseite ################################################################ */

.news .article .news-img-wrap {
	background: transparent;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.news .article .news-img-wrap a {
	margin: 0;
	padding: 0;
	/* border: 1px solid #ccc; */
	border: none;
	background: transparent;
}
@media all and (max-width: 768px) {
	.news .news-list-view .article .header {
		clear: both;
	}
}

.pswp {
	z-index: 9999;
}
.pswp__bg {
	background: #2b2b2b;
}

body.page-66 .pswp__zoom-wrap {
	transform: translate3d(0, 5%, 0px) scale(1) !important;
}
body.page-66 .pswp__zoom-wrap img.pswp__img {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
}

/* ende  - news ################################################################################################################################## */

/* start - Suche ################################################################################################################################# */

body.page-36 .searchfield-wrapper {
	display: none;
}
@media all and (max-width: 991px) {
	.searchfield-wrapper {
		display: none;
	}
}

.searchfield-wrapper {
	position: fixed;
	top: 27px;
	right: 6px;
	z-index: 9999;
}

.searchfield-wrapper .form-group .control-label,
.searchfield-wrapper .form-group a,
.searchfield-wrapper fieldset p {
	display: none;
}

.searchfield-wrapper .form-control {
	background-color: transparent;
	border: none;
	transition: width 1s;
	-webkit-transition: width 1s;
	transition-timing-function: ease-out;
	width: 1px;
	padding: 0;
	box-shadow: none !important;
	outline: 0;
}

.searchfield-wrapper .input-group > input#tx-indexedsearch-searchbox-sword.form-control {
	margin-right: 50px;
}
.searchfield-wrapper .input-group:hover > input#tx-indexedsearch-searchbox-sword.form-control,
.searchfield-wrapper input#tx-indexedsearch-searchbox-sword.form-control:focus {
	width: 220px;
	padding: 0.375rem 0.75rem;
	background-color: #fff;
	border: 1px solid #ced4da;
}

.searchfield-wrapper .btn-primary {
	color: transparent;
	background-color: transparent;
	border-color: transparent;
}
.searchfield-wrapper .input-group-btn {
	background-image: url(../Images/Layout/icons-black.svg#oo-search);
	background-repeat: no-repeat;
	background-size: 1.8em 1.8em;
	width: 42px;
	height: 38px;
	display: inline-block;
	position: absolute;
	right: 0;
}

/* ende  - Suche ################################################################################################################################# */

/* start - Akkordions, Accordions ################################################################################################################ */

.accordion-content-text {
	width: 70% !important;
}
.accordion-content-media {
	width: 30% !important;
}

@media all and (max-width: 768px) {
	.accordion-content-text {
		width: 100% !important;
	}
	.accordion-content-media {
		width: 100% !important;
	}
}

.gallery-row .gallery-item figure.image {
	margin-bottom: 30px;
}

.gallery-row .gallery-item figure.image .caption {
	padding-top: 0;
}

/* ende  - Akkordions, Accordions ################################################################################################################ */

/* start - Kontaktformular ####################################################################################################################### */

body.page-85 .form-container .frame {
	padding-top: 0;
	padding-bottom: 0;
}

/* ende  - Kontaktformular ####################################################################################################################### */

/* Schriftgröße AAA */
.div-font-size {
	position: fixed;
	top: 4px;
	right: 14px;
	width: 27px;
	height: 12px;
	z-index: 9999;
}
.div-font-size {
	top: 0px;
	right: 15px;
}
@media all and (max-width: 991px) {
	.div-font-size {
		top: 37px;
		right: 60px;
	}
	header.navbar-transition .div-font-size {
		top: 17px;
		right: 60px;
	}
}
@media all and (max-width: 768px) {
	.div-font-size {
		top: 22px;
		right: 60px;
	}
}

/*
Grafikgröße wie Breite und Höhe selbst angeben:
*/
.gallery-item img, .gallery-item picture {
	width: auto;
	height: auto;
}
/*
Dazu noch in root > Seiten-TS-Config:
default
TCEFORM.tt_content {
    imagewidth.disabled = 0
    imageheight.disabled = 0
}
*/

@media all and (min-width: 576px) {
	.frame-container {
		max-width: 960px;
	}
}
@media all and (min-width: 768px) {
	.frame-container {
		max-width: 960px;
	}
}
@media all and (min-width: 991px) {
	.frame-container {
		max-width: 1100px;
	}
}

/* start - Schriftgrößen ######################################################################################################################### */

@media all and (max-width: 768px) {
	#page-content {font-size: 130%;}
	figure .caption {font-size: 85%;}
	.accordion-title {font-size: 101%;}
}

/* ende  - Schriftgrößen ######################################################################################################################### */
@media (pointer: coarse) {
	.navbar-mainnavigation .navbar-toggler {
		display: block;
	}
	.collapse:not(.show) {
		display: none !important;
	}
	.searchfield-wrapper {
		display: none;
	}
	.div-font-size {
		top: 52px;
		right: 60px;
	}
	header.navbar-transition .div-font-size {
		top: 17px;
		right: 60px;
	}
}
@media (pointer: coarse) and (max-width: 991px) {
	.div-font-size {
		top: 37px;
		right: 60px;
	}
	header.navbar-transition .div-font-size {
		top: 17px;
		right: 60px;
	}
}
@media (pointer: coarse) and (max-width: 767px) {
	.div-font-size {
		top: 22px;
		right: 60px;
	}
}

/* Damit bei nicht so hohen Displays die Navi beim Scrollen nach oben rutscht: */
@media all and (max-height: 680px) {
	.fixed-top,
	.navbar-mainnavigation.navbar-fixed-top,
	.div-font-size,
	.searchfield-wrapper {
		position: absolute;
	}
}

.carousel .carousel-item a {
	color: transparent !important;
}
.valign .vcontainer {
	width: auto;
	bottom: 50px;
	position: absolute;
	padding: 0 20px;
	right: 100px;
}
@media all and (max-width: 400px) {
	.valign .vcontainer {
		right: unset;
	}
}
.carousel-item-type-text .carousel-text-inner {
	width: 100%;
}

.article .teaser-text ul.list-normal {
	margin-left: 290px;
}
/* Startseite: */
#news-container-237.news-list-view .article .teaser-text ul.list-normal {
	margin-left: -20px;
}

/* ========================================================================== */
/* WPR TYPO3 11 / Bootstrap 5 compatibility                                   */
/* ========================================================================== */

/* Navigation: altes Martinsheim-Verhalten mit verschachtelten Dropdowns. */
.navbar-mainnavigation .nav-item { position: relative; }
.navbar-mainnavigation .nav-item > .nav-link.active,
.navbar-mainnavigation .nav-item.active > .nav-link,
.navbar-mainnavigation .nav-item.current > .nav-link,
.navbar-mainnavigation .dropdown-menu .nav-item.active > .nav-link,
.navbar-mainnavigation .dropdown-menu .nav-item.current > .nav-link {
    color: #0072c4 !important;
    font-weight: 700;
}
.navbar-mainnavigation .nav-link:hover,
.navbar-mainnavigation .dropdown-menu .nav-link:hover {
    color: #e00000 !important;
}

@media (min-width: 992px) and (hover: hover) {
    #mainnavigation .dropdown-menu { display: none; }
    #mainnavigation li.dropdown.show > .dropdown-menu,
    #mainnavigation li.dropdown:hover > .dropdown-menu,
    #mainnavigation li.dropdown:focus-within > .dropdown-menu { display: block; }
    #mainnavigation > .navbar-nav > li.dropdown > .dropdown-menu {
        top: 100%;
        left: 0;
        right: auto;
    }
}

@media (max-width: 991.98px), (hover: none) {
    #mainnavigation .dropdown-menu {
        position: static !important;
        float: none;
        width: 100% !important;
        margin: 0;
        border: 0;
        box-shadow: none;
    }
    #mainnavigation .dropdown-menu:not(.show) { display: none; }
    #mainnavigation li.dropdown.show > .dropdown-menu { display: block; }
}

/* Bootstrap 5 verwendet .show weiterhin, aber nicht mehr das alte li.show automatisch. */
#mainnavigation li.dropdown.show > .dropdown-toggle::after { transform: rotate(0deg); }

/* Suchlupe: Bootstrap Package 14 hat keinen .input-group-btn mehr. */
.searchfield-wrapper fieldset,
.searchfield-wrapper .row,
.searchfield-wrapper .row > div { margin: 0; padding: 0; }
.searchfield-wrapper .form-label,
.searchfield-wrapper legend,
.searchfield-wrapper .row > div:not(:first-child) { display: none !important; }
.searchfield-wrapper .input-group {
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}
.searchfield-wrapper .input-group > input#tx-indexedsearch-searchbox-sword.form-control {
    flex: 0 0 auto;
    margin-right: 0;
}
.searchfield-wrapper .input-group:hover > input#tx-indexedsearch-searchbox-sword.form-control,
.searchfield-wrapper:focus-within input#tx-indexedsearch-searchbox-sword.form-control,
.searchfield-wrapper.is-open input#tx-indexedsearch-searchbox-sword.form-control {
    width: 220px;
    padding: .375rem .75rem;
    margin-right: 4px;
    background-color: #fff;
    border: 1px solid #ced4da;
    box-shadow: none !important;
    outline: 0;
}
.searchfield-wrapper .btn-primary {
    flex: 0 0 42px;
    width: 42px;
    height: 38px;
    padding: 0;
    overflow: hidden;
    text-indent: -9999px;
    background-color: transparent !important;
    border-color: transparent !important;
    background-image: url('../Images/Layout/icons-black.svg#oo-search');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.8em 1.8em;
    transition: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
.searchfield-wrapper .btn-primary:hover,
.searchfield-wrapper .btn-primary:focus,
.searchfield-wrapper .btn-primary:focus-visible,
.searchfield-wrapper .btn-primary:active,
.searchfield-wrapper .btn-primary.active {
    color: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    transform: none !important;
    filter: none !important;
}

/* textmedia/textpic: Bootstrap Package 14 nutzt gap statt der alten Gutter-Logik. */
.textmedia,
.textpic {
    gap: 0 !important;
    margin-left: -12px;
    margin-right: -12px;
}
.textmedia > .textmedia-item,
.textpic > .textpic-item {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
}
.textmedia .gallery-item img,
.textmedia .gallery-item picture,
.textpic .gallery-item img,
.textpic .gallery-item picture {
    max-width: 100%;
    height: auto;
}
@media (min-width: 768px) {
    .textmedia.textmedia-right > .textmedia-text,
    .textmedia.textmedia-left > .textmedia-text,
    .textpic.textpic-right > .textpic-text,
    .textpic.textpic-left > .textpic-text { width: 65% !important; }

    .textmedia.textmedia-right > .textmedia-gallery,
    .textmedia.textmedia-left > .textmedia-gallery,
    .textpic.textpic-right > .textpic-gallery,
    .textpic.textpic-left > .textpic-gallery { width: 35% !important; }

    .textmedia.textmedia-right > .textmedia-text,
    .textpic.textpic-right > .textpic-text { order: 1 !important; }
    .textmedia.textmedia-right > .textmedia-gallery,
    .textpic.textpic-right > .textpic-gallery { order: 2 !important; }

    .textmedia.textmedia-left > .textmedia-gallery,
    .textpic.textpic-left > .textpic-gallery { order: 1 !important; }
    .textmedia.textmedia-left > .textmedia-text,
    .textpic.textpic-left > .textpic-text { order: 2 !important; }

    .textmedia.textmedia-above > .textmedia-gallery,
    .textpic.textpic-above > .textpic-gallery { order: 1 !important; width: 100% !important; }
    .textmedia.textmedia-above > .textmedia-text,
    .textpic.textpic-above > .textpic-text { order: 2 !important; width: 100% !important; }
    .textmedia.textmedia-below > .textmedia-text,
    .textpic.textpic-below > .textpic-text { order: 1 !important; width: 100% !important; }
    .textmedia.textmedia-below > .textmedia-gallery,
    .textpic.textpic-below > .textpic-gallery { order: 2 !important; width: 100% !important; }
}
@media (max-width: 767.98px) {
    .textmedia > .textmedia-item,
    .textpic > .textpic-item { width: 100% !important; }
}

/* Accordion: optisch wieder an Bootstrap-Package-11/Card-Markup anlehnen. */
.accordion-item.wpr-accordion-card {
    border: 1px solid rgba(0,0,0,.125) !important;
    border-radius: .25rem;
    overflow: visible;
}
.accordion-item.wpr-accordion-card + .accordion-item.wpr-accordion-card { margin-top: .25em; }
.wpr-accordion-card .accordion-header.card-header {
    padding: 0;
    margin: 0;
    background-color: rgba(0,0,0,.03);
    border-bottom: 0;
}
.wpr-accordion-card .accordion-title {
    margin: 0;
    font-size: 1.1em;
    font-weight: 400;
    line-height: 1.2;
}
.wpr-accordion-card .accordion-title-link,
.wpr-accordion-card .accordion-title-link:focus,
.wpr-accordion-card .accordion-title-link:hover {
    color: inherit;
    text-decoration: none;
}
.wpr-accordion-card .accordion-title-link {
    position: relative;
    display: block;
    padding: .75rem calc(1.25rem + 2em) .75rem 1.25rem;
}
.wpr-accordion-card .accordion-title-link-state {
    position: absolute;
    top: 50%;
    right: 1.25rem;
    width: .8em;
    height: .8em;
    transform: translateY(-50%);
}
.wpr-accordion-card .accordion-title-link-state::before,
.wpr-accordion-card .accordion-title-link-state::after {
    content: '';
    position: absolute;
    top: 50%; left: 0;
    width: 100%; height: 1px;
    background: currentColor;
    transition: transform .2s ease-in-out;
}
.wpr-accordion-card .accordion-title-link-state::before { transform: rotate(-45deg); }
.wpr-accordion-card .accordion-title-link-state::after { transform: rotate(45deg); }
.wpr-accordion-card .accordion-title-link.collapsed .accordion-title-link-state::before { transform: rotate(0); }
.wpr-accordion-card .accordion-title-link.collapsed .accordion-title-link-state::after { transform: rotate(90deg); }
.wpr-accordion-card .accordion-body {
    padding: 1.25rem;
    border-top: 1px solid rgba(0,0,0,.125);
}
.wpr-accordion-card .accordion-content {
    display: flex;
    flex-wrap: wrap;
    gap: 0 !important;
    margin-left: -.625rem;
    margin-right: -.625rem;
}
.wpr-accordion-card .accordion-content-item {
    flex-grow: 1;
    padding-left: .625rem;
    padding-right: .625rem;
    box-sizing: border-box;
}
.wpr-accordion-card .accordion-content-text { width: 70% !important; }
.wpr-accordion-card .accordion-content-media { width: 30% !important; }
.wpr-accordion-card .accordion-content-bottom .accordion-content-media,
.wpr-accordion-card .accordion-content-right .accordion-content-media { order: 2; }
@media (max-width: 767.98px) {
    .wpr-accordion-card .accordion-content-text,
    .wpr-accordion-card .accordion-content-media { width: 100% !important; }
}

/* ========================================================================== */
/* WPR 0.1.1 - Feinschliff Navigation und Startseiten-Slider                 */
/* ========================================================================== */

/*
 * Bootstrap Package 14 verwendet ohne .nav-link-main links am Menuepunkt
 * einen kleinen Dreiecksmarker. Auf der ersten Ebene soll - wie in BP 11 -
 * stattdessen der blaue 2px-Unterstrich erscheinen.
 */
@media (min-width: 992px) {
    .navbar-mainnavigation .dropdown-toggle::after {
        display: none !important;
    }

    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main::before {
        border: 0 !important;
        transform: none !important;
        top: auto !important;
        left: var(--mainnavigation-link-padding-x, .5em) !important;
        right: var(--mainnavigation-link-padding-x, .5em) !important;
        bottom: calc(var(--mainnavigation-link-padding-y, .5rem) / 2) !important;
        width: auto !important;
        height: 2px !important;
        background: #0072c4 !important;
        opacity: 0;
    }

    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main:hover,
    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main:focus {
        color: rgba(0, 0, 0, .5) !important;
    }

    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main:hover::before,
    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main:focus-visible::before,
    #mainnavigation > .navbar-nav > .nav-item:hover > .nav-link.nav-link-main::before {
        opacity: .25 !important;
    }

    #mainnavigation > .navbar-nav > .nav-item.active > .nav-link.nav-link-main,
    #mainnavigation > .navbar-nav > .nav-item.current > .nav-link.nav-link-main,
    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main.active {
        color: #000 !important;
        font-weight: 400 !important;
    }

    #mainnavigation > .navbar-nav > .nav-item.active > .nav-link.nav-link-main::before,
    #mainnavigation > .navbar-nav > .nav-item.current > .nav-link.nav-link-main::before,
    #mainnavigation > .navbar-nav > .nav-item > .nav-link.nav-link-main.active::before {
        opacity: .5 !important;
    }
}

/* Auf der alten Seite liegt zwischen dem 160px-Logo und der Navigation in
 * mittleren Desktopbreiten sichtbar mehr Luft. */
@media (min-width: 992px) and (max-width: 1499.98px) {
    .navbar-mainnavigation > .container > .navbar-brand {
        margin-right: 55px !important;
    }
}

/* Startseite: BP 11 blendete Slider-Indikatoren und Pfeile erst bei Hover ein. */
body.page-1 .carousel .carousel-control,
body.page-1 .carousel .carousel-indicators {
    opacity: 0 !important;
    pointer-events: none;
    transition: opacity .4s ease-in-out;
}
body.page-1 .carousel:hover .carousel-control,
body.page-1 .carousel:hover .carousel-indicators,
body.page-1 .carousel:focus-within .carousel-control,
body.page-1 .carousel:focus-within .carousel-indicators {
    opacity: 1 !important;
    pointer-events: auto;
}

/*
 * BP 11: .valign .vcontainer lag absolut rechts unten (right:100px,
 * bottom:50px) und hatte den halbtransparent schwarzen Hintergrund.
 * BP 14 hat .valign/.vcontainer durch .carousel-content-inner ersetzt.
 */
body.page-1 .carousel .carousel-item-type-text .carousel-content-inner {
    position: absolute;
    top: auto;
    right: 100px;
    bottom: 50px;
    left: auto;
    display: block;
    width: auto;
    max-width: calc(100% - 200px);
    height: auto;
    margin: 0;
    gap: 0;
    align-items: initial;
}
body.page-1 .carousel .carousel-item-type-text .carousel-text-inner {
    width: auto !important;
    margin: 0 !important;
    padding: 0 20px;
    text-align: left !important;
    background: rgba(0, 0, 0, .3);
}
body.page-1 .carousel .carousel-item-type-text .carousel-item-header,
body.page-1 .carousel .carousel-item-type-text .carousel-item-subheader,
body.page-1 .carousel .carousel-item-type-text .carousel-item-bodytext {
    text-align: left !important;
}

@media (max-width: 400px) {
    body.page-1 .carousel .carousel-item-type-text .carousel-content-inner {
        right: auto;
        left: 15px;
        bottom: 30px;
        max-width: calc(100% - 30px);
    }
}


/* ========================================================================== */
/* WPR 0.1.2 - Navigation Unterebenen ohne Dreiecke                          */
/* ========================================================================== */

/*
 * Martinsheim: In der Navigation werden keine Dropdown-/Status-Dreiecke
 * verwendet. Die blaue Unterstreichung der ersten Ebene bleibt erhalten.
 */
.navbar-mainnavigation .dropdown-toggle::after,
.navbar-mainnavigation .nav-link-indicator::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* Bootstrap Package 14 zeichnet bei nav-link ohne nav-link-main links einen
 * Statusmarker. Dieser wird in allen Unterebenen komplett entfernt. */
#mainnavigation .dropdown-menu .nav-link::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
    background: none !important;
    opacity: 0 !important;
}

/* Ebene 2 und tiefer: normaler Zustand unveraendert/dezent; bei Hover und
 * aktiv ausschliesslich schwarze Schrift, ohne roten/blauen Status oder
 * zusaetzliche Hervorhebung. */
#mainnavigation .dropdown-menu .dropdown-item:hover,
#mainnavigation .dropdown-menu .dropdown-item:focus,
#mainnavigation .dropdown-menu .nav-link:hover,
#mainnavigation .dropdown-menu .nav-link:focus {
    color: #000 !important;
    background-color: transparent !important;
    font-weight: 400 !important;
}

#mainnavigation .dropdown-menu .dropdown-item.active,
#mainnavigation .dropdown-menu .dropdown-item:active,
#mainnavigation .dropdown-menu .nav-item.active > .nav-link,
#mainnavigation .dropdown-menu .nav-item.current > .nav-link,
#mainnavigation .dropdown-menu .nav-link.active {
    color: #000 !important;
    background-color: transparent !important;
    font-weight: 400 !important;
}

/* ========================================================================== */
/* WPR 0.1.4 - Subnavigation-Pfeile und breite Desktopnavigation             */
/* ========================================================================== */

/* Rechte Subnavigation neben dem Content: nur den aktiven Dreieckspfeil
 * des Bootstrap Package 14 entfernen. Sonstige Subnav-Darstellung bleibt. */
.subnav-item.active > .subnav-link::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* Auf sehr breiten Displays war die Hauptnavigation der v9-Seite rechts im
 * verfuegbaren Headerbereich ausgerichtet. Logo bleibt links stehen. */
@media (min-width: 1500px) {
    .navbar-mainnavigation > .container > #mainnavigation {
        justify-content: flex-end !important;
    }

    /* Bootstrap Package 14 setzt .navbar-nav auf width:100%. Dadurch kann
     * justify-content am Collapse die sichtbaren Menuepunkte nicht nach rechts
     * verschieben. Die Liste wieder auf Inhaltsbreite begrenzen und als
     * Flex-Item rechts andocken. */
    .navbar-mainnavigation > .container > #mainnavigation > .navbar-nav {
        width: auto !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
}

/* ========================================================================== */
/* WPR 0.1.5 - Headerhoehen wie TYPO3-v9-Seite                               */
/* ========================================================================== */

/*
 * Die alte Martinsheim-Seite hatte auf Desktop exakt 130px Headerhoehe
 * und im Sticky-Zustand 80px. Bootstrap Package 14 berechnet die Hoehe
 * anders ueber --mainnavigation-nav-height und Innenabstaende. Fuer die
 * 1:1-Darstellung werden die alten Zielhoehen auf Desktop direkt hergestellt.
 * Mobile/Tablet unterhalb 992px bleibt unveraendert.
 */
@media (min-width: 992px) {
    .navbar-mainnavigation {
        --mainnavigation-nav-height: 130px;
        height: 130px !important;
        min-height: 130px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .navbar-mainnavigation > .container {
        height: 100%;
        min-height: 0;
        align-items: center;
    }

    .navbar-mainnavigation.navbar-transition {
        --mainnavigation-nav-height: 80px;
        height: 80px !important;
        min-height: 80px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* WPR Martinsheim: finale Position der Schriftgroessen-Steuerung auf Mobil/Tablet.
 * Absichtlich am Dateiende, damit aeltere Bootstrap-/Legacy-Regeln nicht mehr uebersteuern. */
@media all and (max-width: 991px) {
	.div-font-size {
		top: 22px;
		right: 60px;
	}
	header.navbar-transition .div-font-size {
		top: 22px;
		right: 60px;
	}
}

/* ========================================================================== */
/* WPR 0.1.9 - Mobile/Tablet Headerhoehe                                      */
/* ========================================================================== */

/* Bis einschliesslich 991px ist der Header immer 70px hoch, unabhaengig davon,
 * ob er sich im normalen oder im Sticky-Zustand befindet. */
@media all and (max-width: 991px) {
    .navbar-mainnavigation,
    .navbar-mainnavigation.navbar-transition {
        --mainnavigation-nav-height: 70px;
        height: 70px !important;
        min-height: 70px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .navbar-mainnavigation > .container {
        height: 70px !important;
        min-height: 70px !important;
        align-items: center;
    }
}

/* ========================================================================== */
/* WPR 0.1.10 - Dropdown-Pfeile nur im responsiven Hauptmenue                 */
/* ========================================================================== */

/* Wie auf der alten TYPO3-v9-Seite: Bei Menuepunkten mit Unterpunkten wird
 * bis 991px rechts ein grosser blauer Pfeil angezeigt. Der Pfeil ist Teil
 * des Links; der erste Klick oeffnet das Untermenue, ein weiterer Klick auf
 * den bereits geoeffneten Menuepunkt folgt dem eigentlichen Link. */
@media all and (max-width: 991px) {
    #mainnavigation .dropdown-toggle {
        display: flex !important;
        align-items: center;
        white-space: normal;
    }

    #mainnavigation .dropdown-toggle::after {
        display: inline-block !important;
        content: "" !important;
        flex: 0 0 auto;
        margin-left: auto !important;
        margin-right: 0 !important;
        vertical-align: middle;
        font-size: 36px;
        color: #0072c4 !important;
        border-top: .3em solid #0072c4 !important;
        border-right: .3em solid transparent !important;
        border-bottom: 0 !important;
        border-left: .3em solid transparent !important;
        transform: rotate(-90deg);
        transform-origin: center;
    }

    #mainnavigation li.dropdown.show > .dropdown-toggle::after {
        transform: rotate(0deg);
    }
}

/* Auf Desktop bleiben alle Dropdown-Dreiecke weiterhin ausgeblendet. */
@media all and (min-width: 992px) {
    #mainnavigation .dropdown-toggle::after {
        display: none !important;
        content: none !important;
        border: 0 !important;
    }
}


/* ========================================================================== */
/* WPR 0.1.11 - Schriftgroessen-Steuerung Mobil/Tablet immer gleiche Position */
/* ========================================================================== */
@media all and (max-width: 991px) {
    .div-font-size,
    header.navbar-transition .div-font-size {
        top: 22px !important;
        right: 60px !important;
    }
}

/* ========================================================================== */
/* WPR 0.1.12 - Responsives Hauptmenue darf unter 70px-Header ausklappen      */
/* ========================================================================== */
@media all and (max-width: 991px) {
    /* Der sichtbare Header bleibt 70px hoch. Bootstrap Package 14 setzt beim
     * sticky Header overflow-y:auto; zusammen mit der festen 70px-Hoehe wurde
     * das geoeffnete Collapse dadurch direkt unterhalb des Headers abgeschnitten. */
    .navbar-mainnavigation,
    .navbar-mainnavigation.navbar-fixed-top,
    .navbar-mainnavigation.navbar-transition {
        overflow: visible !important;
        max-height: none !important;
    }

    /* Das responsive Menue klappt als eigene Ebene direkt unter dem 70px-Header
     * auf. So bleibt die Headerhoehe unveraendert und das Menue kann trotzdem
     * die benoetigte Hoehe einnehmen. */
    .navbar-mainnavigation > .container > #mainnavigation {
        position: absolute !important;
        top: 70px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 70px);
        overflow-x: hidden;
        overflow-y: auto;
        z-index: 1035;
        padding: 0 20px 20px;
        background: #fff;
    }
}


/* ========================================================================== */
/* WPR 0.1.13 - Responsives Untermenue: eigener Toggle + aktive Rootline      */
/* ========================================================================== */

/* Desktop: Der separate Toggle-Button ist nur fuer das responsive Menue. */
.wpr-submenu-toggle {
    display: none;
}

@media all and (max-width: 991px) {
    /* Hauptmenue ohne Alpha-Transparenz. */
    .navbar-mainnavigation > .container > #mainnavigation {
        background: #fff !important;
    }

    /* Der bisherige Pfeil war ein ::after des Links. Dadurch konnte ein Klick
     * auf den Pfeil nicht vom eigentlichen Seitenlink unterschieden werden. */
    #mainnavigation .dropdown-toggle::after {
        display: none !important;
        content: none !important;
        border: 0 !important;
    }

    #mainnavigation li.dropdown {
        position: relative;
    }

    /* Platz fuer den separaten Pfeil rechts lassen. */
    #mainnavigation li.dropdown > .dropdown-toggle {
        padding-right: 56px !important;
    }

    #mainnavigation li.dropdown > .wpr-submenu-toggle {
        display: flex;
        position: absolute;
        top: 0;
        right: 0;
        width: 52px;
        height: 48px;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: 0;
        background: transparent;
        box-shadow: none;
        z-index: 2;
        cursor: pointer;
    }

    #mainnavigation li.dropdown > .wpr-submenu-toggle::after {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border-top: .3em solid #0072c4;
        border-right: .3em solid transparent;
        border-bottom: 0;
        border-left: .3em solid transparent;
        font-size: 36px;
        transform: rotate(-90deg);
        transform-origin: center;
        transition: transform .15s ease-in-out;
    }

    #mainnavigation li.dropdown.show > .wpr-submenu-toggle::after,
    #mainnavigation li.dropdown > .wpr-submenu-toggle[aria-expanded="true"]::after {
        transform: rotate(0deg);
    }

    #mainnavigation li.dropdown > .wpr-submenu-toggle:hover,
    #mainnavigation li.dropdown > .wpr-submenu-toggle:focus,
    #mainnavigation li.dropdown > .wpr-submenu-toggle:active {
        border: 0;
        background: transparent;
        box-shadow: none;
        outline-offset: -2px;
    }

    /* Auch die eigentlichen Untermenue-Flaechen sind im responsiven Modus
     * deckend weiss. Das Oeffnen/Schliessen steuert weiterhin die .show-Klasse. */
    #mainnavigation .dropdown-menu {
        background: #fff !important;
    }
}


/* ========================================================================== */
/* WPR 0.1.14 - Slider: 4px-Indikatoren und Pfeile wie auf der alten Site    */
/* ========================================================================== */

/* Bootstrap Package 14 vergroessert den aktiven Indikator auf 8px.
 * Martinsheim verwendet fuer aktive und inaktive Balken durchgehend 4px. */
body.page-1 .carousel .carousel-indicators button,
body.page-1 .carousel .carousel-indicators button.active {
    height: 4px !important;
    border-top-width: 4px !important;
    border-bottom-width: 4px !important;
}

/* Die alten Carousel-Pfeile lagen in einem weissen Quadrat am linken bzw.
 * rechten Rand. BP14 liefert stattdessen Hintergrund-SVGs; diese werden hier
 * entfernt und durch einen groesseren blauen CSS-Chevron ersetzt. */
body.page-1 .carousel .carousel-control-icon {
    position: absolute !important;
    top: 50% !important;
    width: 40px !important;
    height: 40px !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    background-image: none !important;
    background-size: auto !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

body.page-1 .carousel .carousel-control-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    border-top: 3px solid #0072c4;
    border-right: 3px solid #0072c4;
}

body.page-1 .carousel .carousel-control-prev-icon {
    left: 0 !important;
}
body.page-1 .carousel .carousel-control-prev-icon::before {
    transform: translate(-35%, -50%) rotate(225deg);
}

body.page-1 .carousel .carousel-control-next-icon {
    right: 0 !important;
}
body.page-1 .carousel .carousel-control-next-icon::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

/* ========================================================================== */
/* WPR 0.1.15 - Einzelbilder in Textmedia/Textpic auf volle Medienbreite      */
/* ========================================================================== */
/*
 * Bei migrierten CEs kann imagecols weiterhin z. B. auf 2 stehen, obwohl nur
 * ein einziges Bild vorhanden ist. Bootstrap Package 14 erzeugt dann die
 * Klasse .gallery-item-size-2 und halbiert den einzigen Gallery-Eintrag ueber
 * --gallery-columns: 2. Bei genau einem Bild soll dieses wie auf der alten
 * Martinsheim-Site die komplette verfuegbare Medien-Spalte nutzen.
 *
 * :only-child stellt sicher, dass echte Galerien mit mehreren Bildern und
 * deren konfigurierte Spaltenzahl unveraendert bleiben.
 */
.textmedia .textmedia-gallery .gallery-row > .gallery-item:only-child,
.textpic .textpic-gallery .gallery-row > .gallery-item:only-child {
    --gallery-columns: 1 !important;
    width: 100% !important;
}

/* ========================================================================== */
/* WPR 0.1.18 - Lightbox-Bildlinks ohne Bootstrap-Fokusrahmen                */
/* ========================================================================== */
/*
 * Bootstrap Package 14 kennzeichnet fokussierte Links mit einem sichtbaren
 * Rahmen/Schatten. Bei den klickbaren Galerie-/Lightbox-Bildern soll die
 * Darstellung wie auf der alten Martinsheim-Site ruhig bleiben. Der Link
 * bleibt klickbar; Mauszeiger und Bild zeigen deshalb weiterhin pointer.
 */
.gallery-item a.lightbox,
.gallery-item a.lightbox:hover,
.gallery-item a.lightbox:focus,
.gallery-item a.lightbox:focus-visible,
.gallery-item a.lightbox:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.gallery-item a.lightbox picture,
.gallery-item a.lightbox img {
    cursor: pointer !important;
}


/* ========================================================================== */
/* WPR 0.1.19 - Desktop-Dropdowns stabilisieren                              */
/* ========================================================================== */
@media (min-width: 992px) and (hover: hover) {
    /* Ein Link-Klick soll das Dropdown nicht ueber :focus-within festhalten.
     * Hover bleibt die eigentliche Desktop-Steuerung. */
    #mainnavigation li.dropdown:focus-within > .dropdown-menu {
        display: none;
    }

    #mainnavigation li.dropdown:hover > .dropdown-menu,
    #mainnavigation li.dropdown.show > .dropdown-menu {
        display: block;
    }

    /* Zweite und weitere Ebenen liegen leicht ueber der vorherigen Ebene.
     * Die 10px-Ueberlappung entspricht dem alten Martinsheim-CSS
     * (200px Menuebreite / right:190px) und verhindert eine Hover-Luecke. */
    #mainnavigation .dropdown-menu li.dropdown > .dropdown-menu {
        position: absolute !important;
        top: -9px !important;
        right: calc(100% - 10px) !important;
        left: auto !important;
        margin: 0 !important;
        z-index: 1101 !important;
    }

    /* Ab der naechsten Verschachtelung wieder nach rechts aufklappen, wie im
     * alten Projekt, damit sich die Ebenen nicht immer weiter nach links schieben. */
    #mainnavigation .dropdown-menu .dropdown-menu li.dropdown > .dropdown-menu {
        right: auto !important;
        left: calc(100% - 20px) !important;
        z-index: 1102 !important;
    }
}


/* WPR: Dokument- und externe Linkkennzeichnung */
/* Externe Textlinks mit Pfeil kennzeichnen. */
a[href^="http://"]::after,
a[href^="https://"]::after {
    content: "\2197" !important;
    display: inline-block !important;
    margin-left: 2px;
    color: #0072c4 !important;
    font-family: Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    vertical-align: -1px;
}

/* Kein externer Pfeil bei Bildlinks oder Links auf die eigene Domain. */
a[href^="http://"]:has(img)::after,
a[href^="https://"]:has(img)::after,
a[href*="martinsheim.de" i]::after {
    content: none !important;
    display: none !important;
}

/* Gemeinsame Darstellung für Dokumentlinks. Diese Regeln stehen bewusst
   nach der externen Linkkennzeichnung, damit PDF/DOCX das Dokumentlabel
   statt des externen Pfeils erhalten. */
a[href*=".pdf" i]:not(:has(img))::after,
a[href*=".docx" i]:not(:has(img))::after {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 18px;
    margin-left: 2px;
    padding: 0 4px;
    border-radius: 3px;
    vertical-align: 3px;
    font-family: Arial, sans-serif;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 18px;
    letter-spacing: 0.2px;
    color: #fff !important;
    text-decoration: none;
}

a[href*=".pdf" i]:not(:has(img))::after {
    content: "PDF" !important;
    min-width: 25px;
    background-color: #d93025;
}

a[href*=".docx" i]:not(:has(img))::after {
    content: "DOCX" !important;
    min-width: 32px;
    background-color: #2b579a;
}

.footer-section-meta {
	background: #313131;
	--frame-color: #ffffff;
	--frame-background: #212121;
	--frame-link-color: #338ecf;
	--frame-link-hover-color: #338ecf;
}

/* Telefonlinks auf Geräten mit Maus */
a[href^="tel:"] {
	text-decoration: none !important;
	cursor: text;
}
/* Telefonlinks auf Touch-Geräten */
@media (hover: none) and (pointer: coarse) {
	a[href^="tel:"] {
		text-decoration: underline !important;
		cursor: pointer;
	}
}
@media (hover: hover) and (pointer: fine) {
	a[href^="tel:"] {
		color: inherit !important;
		text-decoration: none !important;
		cursor: text;
	}
}