/*!
Theme Name:    co:listic childtheme
Author:        co:listic
Author URI:    https://colistic.de
Description:   co:listic Theme
Version:       1.0.0
License:       GNU General Public License v3 or later
License URI:   https://www.gnu.org/licenses/gpl-3.0.html
Template:      page-builder-framework
Text Domain:   page-builder-framework-child
*/

/* ############################################# Scrollbar & Marker ############################################# */

::selection { background: var(--ems-brown); color: var(--ems-white); } 
::-moz-selection { background: var(--ems-brown); color: var(--ems-white); } 
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--ems-white);}
::-webkit-scrollbar-thumb { background: var(--ems-brown);}.shops-content-grid .shops-pp-content-grid-post-logo
::-webkit-scrollbar-thumb:hover { background: var(--ems-blue); }

/*############################################# General Settings ############################################# */

html,
body{
	font-family: "Klavika", sans-serif;
	color:var(--ems-brown);
	font-weight: 400;
	font-size: 100%;
	line-height: 1.4rem;
}

body{
	overflow-x:hidden;
}

@media (max-width: 1300px) {
	html,
	body{
		font-size:1rem;
	}
}


@media (min-width: 1921px) {
	html,
	body{
		font-size:1.0625rem;
	}
}


html:has(body:not(.home) .type-service) {
    scroll-behavior: smooth;
	scroll-padding-top: 8rem;
}

body{
	background-color: var(--ems-beige);
}

#breadcrumbs{
	font-size:1rem;
	margin-bottom:0.5rem;
	font-weight:500;
}

b,strong{
	font-weight:500 !important;
}

h1, h2, h3, h4, h5, h6{
	font-family: "Arame", sans-serif;
	letter-spacing: 0em;
	font-weight: 600;
	display: inline !important;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	background-color: var(--ems-brown);
	color: var(--ems-white);
	padding: 0rem 1.125rem;
	text-transform: uppercase;
	border-top: 0.5rem solid transparent;
	border-bottom: 0.5rem solid transparent;
	line-height: 1.5;
	-webkit-transform: translateZ(0);
	box-sizing: content-box !important;
}

@media (max-width: 800px) {
    h1, h2, h3, h4, h5, h6 {
		border-top: 0.25rem solid transparent;
		border-bottom: 0.25rem solid transparent;
    }
}
/* 
h1, h2, h3, h4, h5, h6 {
    font-family: "Arame", sans-serif;
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    background-color: var(--ems-brown);
	box-shadow: 
        0 0.05em 0 1px var(--ems-brown), 
        0 -0.05em 0 1px var(--ems-brown);
    color: var(--ems-white);
    padding: 0 1.125rem; 
    vertical-align: baseline; 
    isolation: isolate; 

@supports (-webkit-hyphens:none) {
  h1, h2{
    padding-top: 0.25em !important;
    padding-bottom: 0.25em !important;
    baseline-shift: 0.1em; 
    -webkit-text-stroke: 0.01px;
  }

  h3, h4, h5, h6 {
    padding-top: 0.2em !important;
    padding-bottom: 0.2em !important;
    baseline-shift: 0.1em; 
    -webkit-text-stroke: 0.01px;
  }
}
}
*/
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
	color: var(--ems-white) !important;
	text-decoration: none !important;
}

.single-post h5{
	max-width: fit-content;
}

.fl-col-content:has(h1) h1:before,
.fl-col-content:has(h1) h1:after,
.fl-col-content:has(h2) h2:before,
.fl-col-content:has(h2) h2:after,
.fl-col-content:has(h3) h3:before,
.fl-col-content:has(h3) h3:after,
.fl-col-content:has(h4) h4:before,
.fl-col-content:has(h4) h4:after,
.fl-col-content:has(h5) h5:before,
.fl-col-content:has(h5) h5:after,
.fl-col-content:has(h6) h6:before,
.fl-col-content:has(h6) h6:after{
	display: none !important;
}


.fl-col-content:has(> h1),
.fl-col-content:has(> h2),
.fl-col-content:has(> h3),
.fl-col-content:has(> h4),
.fl-col-content:has(> h5),
.fl-col-content:has(> h6){
	display: block !important;
}

h1 + * {
    margin-top: 1.5rem !important; 
    display: block !important;
    clear: both;
}

h2 + *, h3 + *, h4 + *, h5 + *, h6 + * {
    margin-top: 0.75rem !important;
    display: block !important; 
    clear: both;
}

h1{
	font-size:clamp(3rem, 4vw, 4rem);
	line-height:1.1;
}

/* Color Scheme Rose */
h1.rose,
.rose h1{
	background: var(--ems-rose-dark);
}

/* Color Scheme Mocca */
h1.mocca,
.mocca h1{
	background: var(--ems-mocca-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-mocca-dark), 0 -0.125em 0 1px var(--ems-mocca-dark); */
}

/* Color Scheme Olive */
h1.olive,
.olive h1,
h2.olive,
.olive h2{
	background-color: var(--ems-olive-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-olive-dark), 0 -0.125em 0 1px var(--ems-olive-dark); */
}

/* Color Scheme Marine */
h1.marine,
.marine h1,
h2.marine,
.marine h2{
	background-color: var(--ems-marine-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-marine-dark), 0 -0.125em 0 1px var(--ems-marine-dark); */
}

/* Color Scheme Forrest */
h1.forrest,
.forrest h1,
h2.forrest,
.forrest h2{
	background: var(--ems-forrest-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-forrest-dark), 0 -0.125em 0 1px var(--ems-forrest-dark); */
}

/* Color Scheme Lila */
h1.lila,
.lila h1,
h2.lila,
.lila h2{
	background-color: var(--ems-lila-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-lila-dark), 0 -0.125em 0 1px var(--ems-lila-dark); */
}

/* Color Scheme Peach */
h1.peach,
.peach h1,
h2.peach,
.peach h2{
	background-color: var(--ems-peach-dark);
	/* box-shadow: 0 0.125em 0 1px var(--ems-peach-dark), 0 -0.125em 0 1px var(--ems-peach-dark); */
}

/* Color Scheme Red */
h1.red,
.red h1,
h2.red,
.red h2{
	/* box-shadow: 0 0.125em 0 1px var(--ems-red-dark), 0 -0.125em 0 1px var(--ems-red-dark); */
	background: var(--ems-red-dark);
}


h2{
	font-size: clamp(2rem, 3vw, 2.5rem);
	line-height:1.2;
}

h3{
	font-size: clamp(1.75rem, 2.75vw, 2rem);
	line-height:1.3;
}

h4{
	font-size: clamp(1.5rem, 2.5vw, 1.75rem);
	line-height:1.4;
}

h5{
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	line-height:1.5;
}

h6{
	font-size: 1rem;
	line-height:1.6;
}

p {
	margin-bottom: 0.5rem;
}

a {
	color: var(--ems-brown);
	text-decoration: none;
	transition: color var(--transition-fast);
}

a:hover,
a:focus {
	text-decoration: underline;
	color: var(--ems-brown);
}

footer .pp-row-separator {
    z-index: -1 !important;
}

@media (max-width: 1800px) {
	.fl-row-fixed-width{
		max-width: 1360px;
	}
}


/*############################################# Cookie Banner ############################################# */

/* Background */
div:has(dialog[open]) {
    background-color: var(--ems-brown-30) !important;
    backdrop-filter: blur(5px) !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

/* Dialog */
dialog{
	padding:0.5rem !important;
    justify-content: center !important;
}

dialog > div{
	padding:0 3rem 2rem 3rem !important;
	position:relative !important;
	width:50vw !important;
	max-width:800px !important;
	min-width:380px !important;
}

@media (max-width: 800px) {
	dialog > div{
		padding:0 1.25rem 2rem 1.25rem !important;
		width:100% !important;
	}
}

dialog:not(:has(legend)) > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--ems-white);
  clip-path: polygon(93% 6%, 100% 44%, 95% 100%, 4% 96%, 0% 48%, 6% 7%, 22% 3%);
  z-index: -1;
}

dialog:not(:has(legend)) div{
	background:transparent !important;
}

dialog div{
	font-size:1rem !important;
	color:var(--ems-brown) !important;
}

dialog div:has(> a[role="button"]),
dialog div:has(> div > a[href*="datenschutz"]){
	background:var(--ems-white) !important;
}

dialog:not(:has(legend)) div:has(> div > a[href*="datenschutz"]){
	width:90% !important;
	margin:0 auto;
}

/* Heading */
dialog [role="heading"][aria-level="2"] {
  	font-size: 2rem !important;
	font-family: "Arame", sans-serif !important;
	font-weight: 600 !important;
	display: inline !important;
	width: fit-content;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	background-color: var(--ems-brown) !important;
	color: var(--ems-white) !important;
	padding: 0.25rem 0.75rem !important;
	line-height: 1.6 !important;
	text-transform: uppercase !important;
	margin-top:-1rem !important;
}


dialog:has(legend) [role="heading"][aria-level="2"] {
	margin-top:0 !important;
}

@media (max-width: 800px) {
	dialog [role="heading"][aria-level="2"] {
		font-size: 1.5rem !important;
		margin-top:-0.5rem !important;
	}
}

/* Age Note */
dialog p:nth-of-type(2) {
	font-size:0.75rem !important;
	color:var(--ems-brown) !important;
	opacity:0.75 !important;
	margin-top:1rem !important
}

/* Button  */
dialog a[role="button"]:not(fieldset a[role="button"]){
	background: var(--ems-brown) !important;
	color:var(--ems-white) !important;
	font-weight: 500 !important;
	font-size:1rem !important;
	text-transform:uppercase!important;
	border-radius: 2rem !important;
	padding: 1rem 2rem 0.75rem 2rem !important;
	line-height:100% !important;
	transition: 0.25s ease-in-out !important;
}

dialog a[role="button"]:not(fieldset a[role="button"]) span{
	color:var(--ems-white) !important;
	font-weight: 500 !important;
	font-size:1rem !important;
}

dialog a[role="button"]:not(fieldset a[role="button"]):hover{
	color:var(--ems-white) !important;
	background: var(--ems-blue) !important;
}

dialog div:has(> a[role="button"]){
	width:100% !important;
} 

/* Checkboxes */
dialog input[type="checkbox"] + div[aria-hidden="true"] {
    background-color: var(--ems-white) !important;
    border: 1px solid var(--ems-brown) !important;
}

dialog input[type="checkbox"]:checked + div[aria-hidden="true"] {
    background-color: var(--ems-blue) !important;
    border: 1px solid var(--ems-blue) !important;
}

/*############################################# Button Styling ############################################# */

.fl-builder-content a.fl-button, 
.fl-builder-content a.fl-button:visited,
input[type=submit],
.pp-infobox .pp-more-link,
.job-submit,
.jp-apply-button,
.apply-btn{
	background: var(--ems-brown) !important;
	border-radius: 2rem !important;
	line-height:100% !important;
	font-weight: 500 !important;
    padding: 1rem 2rem 0.75rem 2rem !important;
	color:var(--ems-white) !important;
	text-transform:uppercase!important;
	width: auto !important;
	cursor: pointer !important;
	outline: none !important;
	transition: 0.25s ease-in-out !important;
	position: relative !important;
	height:auto !important;
	border:2px solid var(--ems-brown) !important;
	font-size:1rem;
}

@media (max-width: 800px) {
	.fl-builder-content a.fl-button, 
	.fl-builder-content a.fl-button:visited,
	input[type=submit],
	.pp-infobox .pp-more-link,
	.job-submit,
	.jp-apply-button,
	.apply-btn{
		font-size:0.75rem;
	}
}

.fl-builder-content a.fl-button:hover,
.fl-builder-content a.fl-button:visited:hover,
input[type=submit]:hover,
.pp-infobox .pp-more-link:hover,
.job-submit:hover,
.jp-apply-button:hover,
.apply-btn:hover{
	color:var(--ems-white) !important;
	background: var(--ems-blue) !important;
	border:2px solid var(--ems-blue) !important;
}

.fl-builder-content a.fl-button *, 
.fl-builder-content a.fl-button:visited *{
	color:var(--ems-white);
}
	
.fl-builder-content a.fl-button:hover *,
.fl-builder-content a.fl-button:visited:hover *{
	color:var(--ems-white);
}

.fl-builder-content .secondary a.fl-button, 
.fl-builder-content .secondary a.fl-button:visited,
.fl-builder-content .secondary a.fl-button *, 
.fl-builder-content .secondary a.fl-button:visited *{
	background: transparent !important;
	color:var(--ems-brown) !important;
}

.fl-builder-content .secondary a.fl-button:hover, 
.fl-builder-content .secondary a.fl-button:visited:hover{
	background: var(--ems-blue)  !important;
	color:var(--ems-white) !important;
	border:2px solid var(--ems-blue) !important;
}

.fl-builder-content .secondary a.fl-button:hover *,
.fl-builder-content .secondary a.fl-button:visited:hover *{
	color:var(--ems-white) !important;
}

.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button,
.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button:visited{
	background: var(--ems-brown) !important;
	color:var(--ems-white) !important;
}

.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button *, 
.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button:visited *{
	color:var(--ems-white) !important;
}

.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button:hover, 
.fl-builder-content .fl-module-button-group.secondary .fl-button-group-button:first-child a.fl-button:visited:hover{
	background: var(--ems-blue)  !important;
	color:var(--ems-white) !important;
	border:2px solid var(--ems-blue) !important;
}

.fl-button-group-button{
	padding-left:0 !important;
	padding-right:0 !important;
}

.fl-button-group-layout-horizontal.fl-button-group-buttons{
    gap: 0.75rem;
}

.fl-button-group-layout-horizontal.fl-button-group-buttons:after{
	display:none;
}

.fl-button-group-layout-horizontal.fl-button-group-buttons{
	justify-items:flex-end;
	display:flex;
}

.fl-button-group:before{
	display:none !important;
}

.fl-builder-content .forrest a.fl-button{
	background: var(--ems-forrest-dark) !important;
	border:2px solid var(--ems-forrest-dark) !important;
}

.fl-builder-content .peach a.fl-button{
	background: var(--ems-peach-dark) !important;
	border:2px solid var(--ems-peach-dark) !important;
}

.fl-builder-content .fl-button i{
	font-size:1em;
}

/* Post Filters Buttons */
ul.pp-post-filters li {
    border-style: solid;
    border-width: 0;
    background-clip: border-box;
    border-color: var(--ems-brown);
    border-top-width: 2px;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-left-width: 2px;
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    border-bottom-left-radius: 32px;
    border-bottom-right-radius: 32px;
    padding-top: 8px;
    padding-right: 16px;
    padding-bottom: 4px;
    padding-left: 16px;
	background: transparent;
	color: var(--ems-brown);
}

ul.pp-post-filters li.pp-filter-active {
	background: var(--ems-brown);
	color: var(--ems-white);
}

/* Button Group */
.fl-button-group-button:first-child{
	padding-left:0 !important;
}

.fl-button-group-button:last-child{
	padding-right:0 !important;
}

/*############################################# Forms ############################################# */

textarea, select, input[type=text], input[type=password], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=number], input[type=datetime]{
	padding:1rem;
	background: var(--ems-white);
	border: 0;
	border-bottom: 2px solid var(--ems-brown-30);
	margin-bottom:0.5rem;
}


textarea:hover, textarea:focus
select:hover, select:focus, 
input:hover, input:focus{
	border-bottom: 2px solid var(--ems-brown);
}

.wpcf7 label{
	font-size:1.25rem;
	font-weight:500;
	margin-bottom:0.25rem;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2rem 0;
    padding: 1rem;
	font-size:1rem;
	line-height:120%;
}

/*############################################# Grafikelement ############################################# */

.pattern .fl-row-content{
	position:relative;
	z-index:10;
}

.pattern .fl-row-content:after{
	background-image:url(/wp-content/uploads/ems-saline.svg);
	opacity:0.1;
	background-size:100%;
	position:absolute;
	content:"";
	right:-8vw;
	top:-15vh;
	width:20vw;
	aspect-ratio: 434 / 525;
	z-index:-10;
}

@media (max-width: 800px) {
	.pattern .fl-row-content:after{
		left:50vw;
		top:-15vh;
		width:40vw;
	}
}

.pattern.left .fl-row-content:after{
	right:50%;
	top:-15vh;
}

div:has(.pattern) > div{
	position:relative;
	z-index:10;
}


/*############################################# Öffnungszeiten Plugin Ausgabe ############################################# */


table.opening-hours{
	border:0;
	width:100%;
}

table.opening-hours *{
	border:0;
	background:transparent;
	padding:0;
}

table.opening-hours tr td.hours{
	text-align:right;
}

table.opening-hours tr th.day-name{
	font-weight:500;
}


/*############################################# Akkordeon ############################################# */

.fl-accordion-item{
    margin-bottom: 1rem !important;
	border:unset !important;
	background:var(--ems-white);
	border-bottom: 2px solid var(--ems-brown-30) !important;
}

.fl-accordion-item:hover,
.fl-accordion-item:focus,
.fl-accordion-item.fl-accordion-item-active{
	border-bottom: 2px solid var(--ems-brown) !important;
}

.fl-accordion-medium .fl-accordion-button-label{
	font-size:1.5rem;
	color:var(--ems-brown);
	font-weight:500;
	padding:0;
	text-transform:uppercase;
	display:table-cell !important;
}

.fl-accordion-medium .fl-accordion-button-icon{
	font-size:1.5rem;
	color:var(--ems-brown);
	padding:0;
	opacity:1;
}

.fl-accordion-button .fl-accordion-button-icon:focus, 
.fl-accordion-button .fl-accordion-button-icon:active {
    opacity: 1;
    background: none;
    text-decoration: none;
    outline: 0;
}

.fl-accordion-medium .fl-accordion-button{
	padding:2rem;
}

.fl-accordion-medium .fl-accordion-content{
	padding:0 2rem 1rem 2rem;
}


@media (max-width: 800px) {
	.fl-accordion-medium .fl-accordion-button{
		padding:1rem;
	}
	
	.fl-accordion-medium .fl-accordion-content{
		padding:0 1rem 0.5rem 1rem;
	}

	.fl-accordion-medium .fl-accordion-button-icon{
		font-size:1rem;
	}
}
/*############################################# Ansprechpartner ############################################# */

.pp-member-wrapper .pp-member-content{
	padding: 0 2rem 2rem 2rem !important;
}

.pp-member-image img{
	aspect-ratio: 1 / 1;
	width:100%;
	object-fit:cover;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 42% 93%, 0 96%);
}

.pp-member-designation{
	margin-top:0.5rem;
	margin-bottom:1rem;
}

/*############################################# Jobs ############################################# */

.pp-modal-close .bar-wrap span{
	width:75%;
	left:12.5%;
	height:2px !important;
}

/*############################################# Image Slider ############################################# */

.pp-image-carousel-wrapper.pp-nav-outside .pp-image-carousel{
	padding-bottom:3rem !important;
}

.swiper-pagination-bullet{
    opacity: 1 !important;
    background-color: var(--ems-brown-30);
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 100px;
    box-shadow: none;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
	vertical-align:middle;
}

.swiper-pagination-bullet-active{
    width: 1rem;
    height: 1rem;
	background-color: var(--ems-brown);
}

.pp-image-carousel-wrapper.pp-nav-outside .pp-swiper-button{
	top: calc(50% - 1rem);
}

.pp-swiper-button{
	background:var(--ems-brown);
	border-radius:100%;
	width:2rem !important;
	height:2rem !important;
	padding:0 !important;
}

.swiper-button-next, .swiper-button-prev{
	color:var(--ems-white);
}

.pp-image-carousel-wrapper .swiper-button-next{
	right:-1rem;
}

.pp-image-carousel-wrapper .swiper-button-prev{
	left:-1rem;
}

.mfp-close{
	font-size:4rem;
	right:2rem;
	top:2rem;
}

.mfp-bg{
	background:var(--ems-brown);
	opacity:0.5;
}

.mfp-arrow-left .mfp-b, .mfp-arrow-left:before,
.mfp-arrow-right .mfp-b, .mfp-arrow-right:before{
	border:0;
}

.mfp-arrow,
.mfp-close{
	opacity:0.75;
}

.mfp-figure:after{
	display:none;
}

/*############################################# Newsletter Box ############################################# */

.newsletter .fl-col-content{
	z-index:1;
	position:relative;
}

.newsletter:after{
	background:var(--ems-mocca-dark);
	height:100%;
	width:100%;
	clip-path: polygon(
			77% 0%, 
			85% 2%, 
			99% 34%, 
			100% 91%, 
			25% 100%, 
			0% 87%, 
			2% 12%
		);
	content:" ";
	position:absolute;
	display:block;
	top:0;
	left:0;
	z-index:0;
	transition: all 0.3s ease-in-out;
}

.newsletter:has(#form-toggle:checked):after {
	clip-path: polygon(
        77% 0%,    /* P1: Bleibt ganz oben */
        85% 1%,    /* P2: Wird etwas flacher, um oben zu bleiben */
        99% 15%,   /* P3: Wandert nach oben, damit die Flanke nicht streckt */
        100% 95%,  /* P4: Rutscht mit dem neuen Boden nach unten */
        25% 100%,  /* P5: Rutscht mit dem neuen Boden nach unten */
        0% 95%,    /* P6: Rutscht mit dem neuen Boden nach unten */
        2% 5%      /* P7: Wandert nach oben, damit der Knick oben bleibt */
    );
}

@media (max-width: 800px) {
    .newsletter:after {
        clip-path: polygon(
            77% 0%, 
            85% 1%, 
            99% 10%,  /* P3: Deutlich höher gezogen (von 34%) */
            100% 96%, /* P4: Tiefer (von 91%) */
            25% 100%, 
            0% 96%,   /* P6: Tiefer (von 87%) */
            2% 4%     /* P7: Höher (von 12%) */
        );
    }

    .newsletter:has(#form-toggle:checked):after {
        clip-path: polygon(
            77% 0%, 
            85% 0.5%, 
            99% 5%,   /* P3: Fast ganz oben geparkt */
            100% 98%, /* P4: Ganz unten am Rand */
            25% 100%, 
            0% 98%,   /* P6: Ganz unten am Rand */
            2% 2%     /* P7: Fast ganz oben geparkt */
        );
    }
}

.fl-col-content:has(#rmOrganism){
	width:100%;
	min-height:unset;
}

/* Newsletter Form */
#rmOrganism .rmLayout--vertical.rmBase .rmBase__container{
	padding:0 !important;
}
/* --- BASIS: 100% & TRANSPARENT --- */
#rmOrganism, .rmBase, .rmSubscription {
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    font-family: Arial, sans-serif;
}

/* Alle Beschriftungen in Weiß */
#rmOrganism .rmBase__compLabel, 
#rmOrganism .vFormRadio__label, 
#rmOrganism .vFormCheckbox__label {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block;
}

/* --- LAYOUT: 3 SPALTEN OBEN --- */
#rmOrganism .rmBase__section:first-of-type {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2rem; 
}

/* E-Mail, Vorname, Nachname */
#rmOrganism [data-field="email"], 
#rmOrganism [data-field="firstname"], 
#rmOrganism [data-field="lastname"] {
    flex: 1 !important;
}

/* Eingabefelder */
#rmOrganism .comp__input, 
#rmOrganism .comp__select {
    background: var(--ems-white) !important;
    border: none !important;
    color: var(--ems-brown) !important;
    height: unset !important;
    border-radius: 0 !important;
    width: 100% !important;
    padding: 1rem !important;
	border-bottom:0.125rem solid var(--ems-brown-30) !important;
	box-shadow:none !important;
    outline: 0px!important;
}

#rmOrganism .comp__input:focus, 
#rmOrganism .comp__select:focus {
	border-color:var(--ems-blue) !important;
}

#rmOrganism .rmBase__comp--checkbox .vFormCheckbox .vFormCheckbox__input, #rmOrganism .rmBase__comp--radio .vFormCheckbox .vFormCheckbox__input,
#rmOrganism .rmBase__comp--radio .vFormRadio .vFormRadio__input{
	border:1px solid var(--ems-brown-30) !important;
	color:var(--ems-blue) !important;
}
	
/* --- AUSKLAPP-LOGIK --- */
.toggle-trigger { display: none; }

.toggle-btn {
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 1rem 0;
    color: #ffffff !important;
    font-weight: 600 !important;
		margin:1rem 0 2rem 0 !important;
}

.arrow {
	height:1rem !important;
	width:1rem !important;
  border: solid var(--ems-white) !important;
  border-width: 0 3px 3px 0 !important;
  display: inline-block;
  padding: 3px;
  transform: rotate(45deg) !important;
  -webkit-transform: rotate(45deg) !important;
	transition:all 0.5s ease-in-out;
	margin-left:1rem !important;
	margin-bottom:0.5rem !important;
}

/* Verstecke alles nach dem Toggle  */
.toggle-trigger:not(:checked) ~ .rmBase__el,
.rmBase__section:has(.toggle-trigger:not(:checked)) ~ .rmBase__section {
    display: none !important;
}

.toggle-trigger:checked + .toggle-btn .arrow {   
	transform: rotate(-135deg) !important;
	margin-bottom:-0.5rem !important;
}

/* --- DETAILS BEIM AUSKLAPPEN --- */
#rmOrganism .rmSubscription .rmBase__el .rmBase__compLabel{
	color:var(--ems-white) !important;
	text-transform:uppercase !important;
	font-size:1.25rem !important;
}

#rmOrganism .rmSubscription .rmBase__el{
	min-width:280px;
}

/* Geburtsdatum nebeneinander */
.rmBase__comp--birthday { display: flex !important; gap: 0.5rem; }
.rmBase__comp--birthday select { flex: 1 !important; }

.rmBase__comp--birthday *{
	margin-left:0 !important;
}

/* Interessen in einer Reihe */
.vFormRadio__group--stacked {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
}

#rmOrganism .rmBase__comp--radio .vFormRadio--stacked:not(:first-child){
	margin-top: 0 !important;
}

.rmBase__el--gender,
.rmBase__el--birthdate{
	width:calc(50% - 2rem);
	box-sizing:border-box;
}

.rmBase__el--consent{
	margin-top:2rem !important;
}

#rmOrganism .rmSubscription .rmBase__comp--text{
	color: var(--ems-white) !important;
	text-align:left !important;
}

#rmOrganism .rmSubscription .rmBase__comp--heading{
	color: var(--ems-white) !important;
	display:block !important;
	background:none !important;
}

.rmBase__section small {
    color: var(--ems-white) !important;
    font-size: 0.75rem !important;
    text-align: center !important;
    max-width: 800px;
    display: block;
    margin: 0 auto !important;
	margin-top: 2rem !important;
}

/* Button */
#rmOrganism .rmBase__comp--cta {
    background-color: var(--ems-blue) !important;
    color: var(--ems-white); !important;
    border-radius: 50px !important;
    padding: 1rem 2rem !important;
    border: none !important;
    font-size: 1rem !important;
    cursor: pointer;
    display: block;
    margin: 1rem auto !important;
    text-transform: uppercase;
    font-weight: bold;
}

/* Mobil-Ansicht: Alles untereinander */
@media (max-width: 768px) {
    #rmOrganism [data-field="email"], 
    #rmOrganism [data-field="firstname"], 
    #rmOrganism [data-field="lastname"] {
        flex: 0 0 100% !important;
    }
}

/*############################################# Infobox Bild Text ############################################# */

.pp-infobox{
	padding:0;
	position:relative;
}

.pp-infobox-wrap .layout-4 .pp-heading-wrapper{
	padding:2rem;
}

.pp-infobox-title-wrapper{
	margin:0.5rem 0;
}

.pp-infobox-wrap .layout-4 .pp-heading-wrapper,
.pp-infobox-wrap .layout-4 .pp-icon-wrapper{
	flex:1;
}

.pp-infobox-image img {
    width: 100% !important;
	clip-path: polygon(14% 0, 100% 0, 100% 97%, 10% 89%, 0 39%);
}

.pp-infobox .pp-more-link{
	position:absolute !important;
	bottom:2rem;
}

@media (max-width: 800px){
    .pp-infobox-wrap .layout-3-wrapper, 
	.pp-infobox-wrap .layout-4-wrapper {
        flex-direction: column-reverse !important;
        align-items: flex-start;
    }
	
	.pp-infobox .pp-more-link{
		position:relative !important;
		bottom:unset;
	}
}

/*############################################# Header ############################################# */

header{
	background: linear-gradient(0deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 100%);
}

body.home .fl-builder-content[data-overlay="1"] .fl-row .fl-row-content-wrap .pp-hamburger-label{
	color: var(--ems-white);
}

body.home .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .fl-row .fl-row-content-wrap .pp-hamburger-label{
	color: var(--ems-brown);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .fl-row .fl-row-content-wrap p,
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .fl-row .fl-row-content-wrap a{
	color: var(--ems-brown);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner,
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner::before, 
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner::after{
	background-color: var(--ems-white);
}

/* Logo */
header svg{
	max-width: 220px;
	margin-top:8px;
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-1,
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-2,
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-3 {
	fill-rule: evenodd;
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-1 {
	fill: var(--ems-white);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-2 {
	fill: var(--ems-brown);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"].fl-theme-builder-header-scrolled .cls-3 {
	fill: var(--ems-blue);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-1 {
	fill: var(--ems-brown);
}

body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-2,
body:not(.single-fl-theme-layout) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-3{
	fill: var(--ems-white);
}

.pp-hamburger-label{
	text-transform:uppercase;
	font-weight:500;
	font-size:1.5rem;
}


.pp-hamburger-inner::after{
	bottom:0.6rem;
}

.pp-hamburger-inner::before{
	top:0.6rem;
}

header nav .menu li a{
	text-transform:uppercase;
	font-weight:500;
	font-size:1.5rem;
}

header nav .menu li:hover a{
	text-decoration: underline !important;
}

/* Header Subpages */

body:not(.home) header{
	background: var(--ems-white);
}

body:not(.home) .wpbf-main{
	padding-top:100px;
}

@media (max-width: 800px) {
	body:not(.home) .wpbf-main{
		padding-top:80px;
	}
}

body:not(.home) .fl-builder-content[data-overlay="1"] .fl-row .fl-row-content-wrap p,
body:not(.home) .fl-builder-content[data-overlay="1"] .fl-row .fl-row-content-wrap a{
	color: var(--ems-brown);
}

body:not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner,
body:not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner::before, 
body:not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .pp-offcanvas-toggle-wrap .pp-offcanvas-toggle .pp-hamburger-inner::after{
	background-color: var(--ems-brown);
}

body:not(.single-fl-theme-layout):not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-1 {
	fill: var(--ems-white);
}

body:not(.single-fl-theme-layout):not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-2 {
	fill: var(--ems-brown);
}

body:not(.single-fl-theme-layout):not(.home) .fl-builder-content[data-overlay="1"]:not(.fl-theme-builder-header-scrolled):not([data-overlay-bg="default"]) .cls-3 {
	fill: var(--ems-blue);
}

body:not(.home) header.fl-builder-content[data-overlay="1"] .fl-row .fl-row-content-wrap nav .menu li.current_page_item a{
	text-decoration:underline;
}

.fl-theme-builder-header-shrink-row-top{
	-webkit-box-shadow: 0px 0px 8px 4px rgba(0,0,0,0.02); 
	box-shadow: 0px 0px 8px 4px rgba(0,0,0,0.02);
}

header .fl-col-group-equal-height{
	flex-wrap: nowrap;
	display:flex !important;
}



/* Topbar */

.opening-hours-conditional span{
	color: var(--ems-olive-light);
	font-weight:500;
}

.opening-hours-conditional::before {
    content: " ";
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    background: var(--ems-olive-light);
    border-radius: 50%;
    animation: animate-pulse 5s linear infinite;
    margin-right: 0.5rem;
    margin-bottom: 2px;
}

@keyframes animate-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(208,208,152,.5),0 0 0 0 rgba(208,208,152,.5)
    }

    40% {
        box-shadow: 0 0 0 10px rgba(208,208,152,0),0 0 0 0 rgba(208,208,152,.5)
    }

    80% {
        box-shadow: 0 0 0 10px rgba(208,208,152,0),0 0 0 10px rgba(208,208,152,0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(208,208,152,0),0 0 0 10px rgba(208,208,152,0)
    }
}

/*############################################# Off Canvas ############################################# */

.pp-offcanvas-content .pp-offcanvas-body{
	padding:0 !important;
}

.pp-offcanvas-container:after {
    background: linear-gradient(90deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%) !important;
}

/*
.pp-offcanvas-content .pp-offcanvas-body nav ul#menu-off-canvas-main{
	border-top:2px solid var(--ems-brown);
}*/

.pp-offcanvas-content .pp-offcanvas-body nav ul#menu-off-canvas-main li a{
	text-transform:uppercase;
	font-family: "Arame", sans-serif;
	font-weight: 600;
	font-size:2rem;
}

@media (max-width: 800px) {
	.pp-offcanvas-content .pp-offcanvas-body nav ul#menu-off-canvas-main li a{
		font-size:1.75rem !important;
		padding-top:0.75rem;
		padding-bottom:0.75rem;
	}
}

.pp-offcanvas-content .pp-offcanvas-body nav ul#menu-off-canvas-main li.current_page_item a,
.pp-offcanvas-content .pp-offcanvas-body nav ul#menu-off-canvas-bottom li.current_page_item a{
	color:var(--ems-blue);
}

.pp-offcanvas-close{
	float:right;
	padding:1rem;
}

.pp-offcanvas-content .fl-menu-horizontal li a{
	text-transform:uppercase;	
	font-size:1.5rem;
	font-weight:500;
	color: var(--ems-brown);
}

@media (max-width: 800px) {
	.pp-offcanvas-content .fl-menu-horizontal li a{
		font-size:1rem !important;
	}
}

.pp-offcanvas-content .fl-module-box{
	justify-content: start;
}

.pp-offcanvas-content .fl-module-box .fl-module:nth-child(3){
	margin-top: auto; 
}

.pp-offcanvas-content .fl-module-box .fl-module:nth-child(2){
	margin-top: 0rem; 
}

.pp-offcanvas-content .fl-module-box .fl-module:nth-child(2) .menu {
	padding-top: 1.5rem; 
}

@media (max-width: 800px) {
	.pp-offcanvas-content .fl-module-box .fl-module:nth-child(1){
		margin-top: 10%; 
	}
}

@media (min-width: 800px) {
	.mobile-only{
		display:none;
	}
}

/*############################################# Posts Grid ############################################# */

/* Posts Grid Carousel */
.pp-content-grid-post {
	padding:0;
}

.pp-content-grid-post-image {
	width:100%;
	aspect-ratio: 1 / 1;
	background-color: var(--ems-brown);
	text-align: right;
	position: relative;
	margin-bottom:2rem;
}

.owl-carousel .owl-item .pp-content-grid-post-image img,
.pp-content-grid-post-image img{
	clip-path: polygon(14% 0, 100% 0, 100% 97%, 10% 89%, 0 39%);
	width:92%;
	position: absolute;
	right:0;
	top:0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.pp-content-grid-post-category{
	position: absolute;
	top:1rem;
	right:0;
}

.pp-content-grid-post-category a{
	background-color: var(--ems-brown);
	padding:0.5rem 1.5rem;
	color: var(--ems-white) !important;
	text-decoration: none;
	font-weight: 500;
    min-width: 80px;
    display: inline-block;
	clip-path: polygon(50% 0%, 100% 6%, 100% 94%, 62% 100%, 18% 94%, 0 78%, 0 6%);
}

.pp-content-grid-post-category.rose a{
	background-color: var(--ems-rose-dark);
}

.pp-content-grid-post-category.mocca a{
	background-color: var(--ems-mocca-dark);
}

.pp-content-grid-post-category.olive a{
	background-color: var(--ems-olive-dark);
}

.pp-content-grid-post-category.marine a{
	background-color: var(--ems-marine-dark);
}

.pp-content-grid-post-category.forrest a{
	background-color: var(--ems-forrest-dark);
}

.pp-content-grid-post-category.lila a{
	background-color: var(--ems-lila-dark);
}

.pp-content-grid-post-category.peach a{
	background-color: var(--ems-peach-dark);
}

.pp-content-grid-post-category.red a{
	background-color: var(--ems-red-dark);
}

*:has(> .pp-content-grid-post-title){
	display:table !important;
}


.pp-content-grid-post-wrapper{
	position: absolute;
	bottom:2.25rem;
	left:2rem;
	text-align:left;
    width: calc(100% - 4rem);
    height: calc(100% - 4.5rem);
    display: flex !important;
    flex-direction: column;
    justify-content: end;
	padding-right:4rem;
}

.pp-content-grid-post-title a{
	color: var(--ems-white) !important;
	text-decoration: none;
}

.pp-content-grid-post-meta {
    padding: 0.25rem 0.75rem;
	font-weight: 500;
	background: var(--ems-white);
	margin-top:1rem;
	width: fit-content;
	color: var(--ems-brown);
}

.pp-content-grid-post-more-link .button{
	background: var(--ems-brown);
	border-radius: 2rem;
	height:3rem;
	width:3rem;
	color: var(--ems-white) !important;
	opacity: 0;
	transition: all 0.5s ease-in-out;
	display: block;
	position: absolute;
	bottom:0rem;
	right:0rem;
	text-align:center;
    display: grid;
    place-items: center;
	text-decoration:none;
	padding-bottom:0.125rem;
}

.pp-content-post:hover .pp-content-grid-post-more-link .button{
	opacity: 1;
}

/* Color Scheme Rose */
.pp-content-grid-post-image.rose{
	background: var(--ems-rose-light);
}
.rose .pp-content-grid-post-more-link .button,
.rose a.fl-button:visited,
.rose a.fl-button,
.rose .pp-content-grid-post-title h3{
	background: var(--ems-rose-dark) !important;
	border-color: var(--ems-rose-dark) !important;
}

/* Color Scheme Mocca */
.pp-content-grid-post-image.mocca{
	background: var(--ems-mocca-light);
}
.mocca .pp-content-grid-post-more-link .button,
.mocca a.fl-button:visited,
.mocca a.fl-button,
.mocca .pp-content-grid-post-title h3{
	background: var(--ems-mocca-dark) !important;
	border-color: var(--ems-mocca-dark) !important;
}

/* Color Scheme Olive */
.pp-content-grid-post-image.olive{
	background-color: var(--ems-olive-light);
}
.olive .pp-content-grid-post-more-link .button,
.olive a.fl-button:visited,
.olive a.fl-button,
.olive .pp-content-grid-post-title h3{
	background: var(--ems-olive-dark) !important;
	border-color: var(--ems-olive-dark) !important;
}

/* Color Scheme Marine */
.pp-content-grid-post-image.marine{
	background-color: var(--ems-marine-light);
}
.marine .pp-content-grid-post-more-link .button,
.marine a.fl-button:visited,
.marine a.fl-button,
.marine .pp-content-grid-post-title h3{
	background: var(--ems-marine-dark) !important;
	border-color: var(--ems-marine-dark) !important;
}

/* Color Scheme Forrest */
.pp-content-grid-post-image.forrest{
	background: var(--ems-forrest-light);
}
.forrest .pp-content-grid-post-more-link .button,
.forrest a.fl-button:visited,
.forrest a.fl-button,
.forrest .pp-content-grid-post-title h3{
	background: var(--ems-forrest-dark) !important;
	border-color: var(--ems-forrest-dark) !important;
}

/* Color Scheme Lila */
.pp-content-grid-post-image.lila{
	background-color: var(--ems-lila-light);
}
.lila .pp-content-grid-post-more-link .button,
.lila a.fl-button:visited,
.lila a.fl-button,
.lila .pp-content-grid-post-title h3{
	background: var(--ems-lila-dark) !important;
	border-color: var(--ems-lila-dark) !important;
}

/* Color Scheme Peach */
.pp-content-grid-post-image.peach{
	background-color: var(--ems-peach-light);
}
.peach .pp-content-grid-post-more-link .button,
.peach a.fl-button:visited,
.peach a.fl-button,
.peach .pp-content-grid-post-title h3{
	background: var(--ems-peach-dark) !important;
	border-color: var(--ems-peach-dark) !important;
}

/* Color Scheme Red */
.pp-content-grid-post-image.red{
	background: var(--ems-red-light);
}
.red .pp-content-grid-post-more-link .button,
.red a.fl-button:visited,
.red a.fl-button,
.red .pp-content-grid-post-title h3{
	background: var(--ems-red-dark) !important;
	border-color: var(--ems-red-dark) !important;
}

/* Posts Slider Hero */
.pp-content-grid-posthero-image{
	width:100%;
	height:calc(100vh - 4rem);
	overflow:hidden;
}

.pp-content-grid-posthero-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.pp-content-grid-posthero-content{
	position:absolute;
	top:40%;
	left:15%;
	width:35%;
}

@media (max-width: 800px) {
	.pp-content-grid-posthero-content{
		position:absolute;
		top:40%;
		left:1rem;
		width:100%;
	}
}
	
.pp-content-grid-posthero-content h5{
	background:var(--ems-white);
	color:var(--ems-brown);
	margin-bottom:0.25rem;
	/* box-shadow: 0 0.25em 0 1px var(--ems-white), 0 -0.25em 0 1px var(--ems-white); */
}

.pp-content-grid-posthero-image .pp-content-grid-posthero-title{
	max-width:unset;
	position:unset;
	margin-bottom:0.5rem;
	font-size:clamp(3.25rem, 4vw, 4rem);
}

@media (max-width: 800px) {
	.pp-content-grid-posthero-content h2 {
		padding: 0.25rem 1.125rem;
	}
}

.pp-content-grid-posthero-content h2 + * {
    margin-top: 1.5rem !important; 
    display:inline !important;
}

.pp-content-grid-posthero-content .blocker{
	display:block !important;
}

.pp-content-grid-posthero-content .fl-button{
	margin-top:3rem;
	display:inline-block !important;
}

#hero .owl-dots{
	position:absolute;
	left:2rem;
	bottom:2rem;
	z-index:20;
}

#hero .pp-content-post-carousel .owl-theme .owl-dots .owl-dot span{
	background:var(--ems-white);
}

#hero .pp-content-post-carousel .owl-theme .owl-dots .owl-dot.active span,
#hero .pp-content-post-carousel .owl-theme .owl-dots .owl-dot:hover span, 
#hero .pp-content-post-carousel .owl-theme .owl-dots .owl-dot:focus span{
	background:var(--ems-white);
}

.herolink{
	position:absolute;
	right:2rem;
	bottom:2rem;
	z-index:20;
	margin:0;
}

.herolink a{
	color: var(--ems-white) !important;
	font-weight:500;
	text-decoration:none;
	text-transform:uppercase;
	font-size:1.5rem;
}

.herolink a:after{
	content: "\f078";
	display:inline;
	font-family: "Font Awesome 5 Free";
	margin-left:0.5rem;
	font-weight:600;
}

@media (max-width: 800px) {
	.herolink a{
		font-size:1rem;
	}
}

.home .pp-content-post-carousel .owl-stage-outer:has(.type-post):not(:has(.pp-content-grid-posthero-image)),
.single-post .pp-content-post-carousel .owl-stage-outer:has(.type-post){
	margin-bottom:3rem;
}


/*############################################# Post Singlepage ############################################# */

@media (min-width: 1024px) {
	.post-coverimage{
		position:absolute;
		top:-0.5rem;
		right:-0.5rem;
		width:45vw;
	}
}
.post-coverimage img{
	aspect-ratio: 1 / 1;
	object-fit:cover;
	width:100%;
	clip-path: polygon(14% 0, 100% 0, 100% 97%, 10% 89%, 0 39%);
}


/*############################################# Services ############################################# */

.service-teaser .pp-infobox{
	padding:0;
}

.service-teaser .pp-infobox-image{
	height:100%;
}

.service-teaser .pp-infobox-image img{
	height:100%;
}

.service-teaser .pp-infobox-image img{
	object-fit:cover;
	min-height:450px;
	height:100% !important;
	width:100% !important;
}

.service-teaser .pp-icon-wrapper{
	z-index:10;
	height:100%;
}

.service-teaser .pp-infobox-title{
	display:block;
}

.service-teaser .pp-infobox-title-wrapper,
.service-teaser .pp-infobox-description{
	padding:0 2rem;
	z-index:20;
}

.service-teaser .pp-infobox-description{
	padding-bottom: 2rem;
}

.service-teaser h2{
	background: var(--ems-mocca-dark);
}

.service-teaser .pp-infobox .pp-more-link{
	position:relative !important;
	bottom: unset;
	background: var(--ems-mocca-dark) !important;
	border-color: var(--ems-mocca-dark) !important;
}


/* Grid */

.pp-content-post-grid:has(.service){
	gap:1rem;
}

.pp-content-grid-service-image {
	width:100%;
	aspect-ratio: 1 / 1;
	background-color: var(--ems-mocca-light);
	text-align: center;
	position: relative;
	margin-bottom:2rem;
	overflow:hidden;
	margin:0;
}

.pp-content-grid-service-image *{
	transition:all 0.5s ease-in-out;
}

.pp-content-grid-service-image img{
	width:25%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.pp-content-grid-service-title{
	margin:0 auto;
	background:none;
	padding:0;
	color:var(--ems-brown);
	box-shadow:none;
}

.pp-content-grid-service-image .pp-content-grid-service-front{
	height:calc(100% - 0.25rem);
	opacity:1;
	background:var(--ems-white);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap:2rem;
}

.pp-content-grid-service-image:hover .pp-content-grid-service-front{
	height:0;
	opacity:0;
}

.pp-content-grid-service-image .pp-content-grid-service-back{
	height:0.25rem;
	background:var(--ems-mocca-light);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap:1rem;
	padding:1rem;
}

.pp-content-grid-service-title{
	line-height:120%;
}

@media (max-width: 800px) {
	.pp-content-grid-service-image .pp-content-grid-service-back{
		padding:0.5rem;
		line-height:120%;
		gap:0.5rem;
	}
	
	.pp-content-grid-service-image .pp-content-grid-service-back  a.fl-button, 
	.pp-content-grid-service-image .pp-content-grid-service-back  a.fl-button:visited{
		padding: 0.5rem 0.75rem !important;
		font-size: 0.75rem !important;
	}
	
	.pp-content-grid-service-image .pp-content-grid-service-front{
		gap:1rem;
	}
	
	.pp-content-grid-service-back .pp-content-grid-service-text{
		font-size:0.875rem;
		line-height:120%;
	}
	
}

.pp-content-grid-service-image:hover .pp-content-grid-service-back{
	opacity:1;
	height:100%;
}


.pp-content-grid-service-image .pp-content-grid-service-back *{
	opacity:0;
}

.pp-content-grid-service-image:hover .pp-content-grid-service-back *{
	opacity:1;
}

/* Service Detail Grid */
.pp-content-grid-servicedetail-image{
	background: var(--ems-white);
	display:flex;
	margin-bottom:4rem;
	flex-direction:column;
}

.pp-content-grid-servicedetail-front,
.pp-content-grid-servicedetail-back{
	width:100%;
}

.pp-content-grid-servicedetail-back{
	padding:2rem;
}

@media (min-width: 800px) {
	.pp-content-post-grid:has(.service){
		gap:2rem;
	}

	.pp-content-grid-servicedetail-image{
		flex-direction: row;
	}
	
	.pp-content-post:nth-child(2n+2) .pp-content-grid-servicedetail-image{
		flex-direction: row-reverse;
	}
	
	.pp-content-grid-servicedetail-front,
	.pp-content-grid-servicedetail-back{
		width:50%;
	}
	
	.pp-content-grid-servicedetail-back{
		padding:4rem;
	}
}

.pp-content-grid-servicedetail-image .pp-content-grid-servicedetail-front img{
	width:100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.pp-content-grid-servicedetail-text{
	margin-top:2rem !important;
}

/*############################################# Shops Grid ############################################# */

.pp-content-post-grid:has(.shop){
	gap: 0 2rem !important;
}

.pp-content-post a.shops-content-grid{
	display: flex;
	align-items: center;
	gap: 2rem; 
	width: 100%;
	border-top:2px solid var(--ems-brown-30);
	padding:1rem 0;
	text-decoration: none;
}

.shops-content-grid .shops-pp-content-grid-post-text{
	flex: 1 1 auto;
	min-width: 0;
}

.shops-content-grid .shops-pp-content-grid-post-logo{
  flex: 0 0 110px;
  aspect-ratio: 1 / 1;
  background: var(--ems-brown);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-sizing: border-box;
}

.shops-pp-content-grid-post-title{
    width: unset;
    -webkit-box-decoration-break: unset;
    box-decoration-break: unset;
    background-color: unset;
    color: var(--ems-brown);
    padding: unset;
    line-height: 1.6;
    text-transform: uppercase;
	margin:0;
}

.shops-pp-content-grid-post-title a{
	text-decoration:none;
}

.shops-pp-content-grid-post-more-link{
	display:none; /* temporär deaktiviert */
}


/*############################################# Shops Carousel ############################################# */

.pp-content-grid-shop-image{
	aspect-ratio: 4 / 6;
	display:block;
	position:relative;
	background-color:var(--ems-black);
}

.pp-content-grid-shop-image img.pp-post-img{
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:0.5;
	transition:all 0.5s ease-in-out;
}

.pp-content-grid-shop-image:hover img.pp-post-img{
	opacity:1;
	transform: scale(1.25);
}

.pp-content-grid-shop-image img.pp-post-logo{
	position:absolute;
	height:50%;
	top:calc(50% - 25%);
	width:50%;
	object-fit:contain;
	left:calc(50% - 25%);
}


@media (max-width: 800px) {
	.home .pp-content-post-carousel:has(.type-shop) .owl-dots{
		display:none;
	}

	.home .pp-content-post-carousel:has(.type-shop) .pp-carousel-nav{
		margin-top:2rem;
	}
}

/*############################################# Shops Singlepage ############################################# */

.opening-hours{
	display:table;
	width:90%;
	line-height:160%;
}

@media (max-width: 800px) {
	.opening-hours{
		width:100%;
	}
}

.opening-hours .oh-row{
	display:table-row;
}

.opening-hours .oh-row .oh-day,
.opening-hours .oh-row .oh-time{
	display:table-cell;
}

.opening-hours .oh-row .oh-day{
	font-weight:500;
}

.opening-hours .oh-row .oh-time{
	text-align:right;
}

@media (min-width: 800px) {
	.shop_buttons{
		position:absolute;
		bottom:5%;
	}
}

.shop_logo{
	position:absolute !important;
	bottom:0;
	background:transparent;
	padding:5%;
	width:40%;
}

.speisekarten{
	margin:1rem 0;
}

.speisekarten.secondary  a.fl-button,
.speisekarten.secondary  a.fl-button:hover,
.speisekarten.secondary  a.fl-button:visited:hover{
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	color:var(--ems-brown) !important;
	border:0 !important;
	margin-right:1rem;
}

.speisekarten.secondary  a.fl-button span,
.speisekarten.secondary  a.fl-button:hover span,
.speisekarten.secondary  a.fl-button:visited:hover span{
	color:var(--ems-brown) !important;
}

.speisekarten.secondary  a.fl-button:hover i,
.speisekarten.secondary  a.fl-button:visited:hover i{
	color:var(--ems-blue) !important;
}

/*############################################# Mallmember Angebote Carousel ############################################# */

.pp-content-grid-offer-image{
	position:relative;
}

.pp-content-grid-offer-image:before{
	content:"";
	width:5rem;
	height:5rem;
	position:absolute;
	z-index:20;
	top:calc(50% - 2.5rem);
	left:calc(50% - 2.5rem);
	background:url(/wp-content/uploads/lock.svg);
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
}

.pp-content-grid-offer-image img{
	height:100%;
	width:100%;
	object-fit:cover;
	aspect-ratio:1 / 1;
	opacity:0.25;
}

.pp-content-grid-offer-image{
	position:relative;
	background:var(--ems-brown);
}

.pp-content-grid-offer-image .pp-content-grid-offer-punkte{
	position: absolute;
	top:1rem;
	right:0;
	background:var(--ems-brown);
	padding:0.5rem 1.5rem;
	color: var(--ems-white) !important;
	text-decoration: none;
	font-weight: 500;
    min-width: 80px;
    display: inline-block;
	clip-path: polygon(50% 0%, 100% 6%, 100% 94%, 62% 100%, 18% 94%, 0 78%, 0 6%);
}

.pp-content-grid-offer-text .pp-content-grid-offer-title{
	margin:0.75rem 0;
	display:block;
}


/*############################################# Hightlights ############################################# */

.pp-content-grid-highlight-image{
	position:relative;
	border-radius:100%;
	border:2px solid var(--ems-brown-30);
}

.pp-content-grid-highlight-image img{
	height:100%;
	width:100%;
	object-fit:cover;
	aspect-ratio:1 / 1;
	border-radius:100%;
	border:2px solid var(--ems-white);
}

.pp-content-grid-highlight-text .pp-content-grid-highlight-title{
	margin:0.75rem auto 0 auto;
	text-align:center;
	display:block;
	font-weight:500;
	text-decoration:none;
	line-height:1.25rem;
}

.highlight a{
	text-decoration:none;
}

.fl-post-grid-post.highlight{
	border:0;
}

.pp-offcanvas-content-inner .fl-post-grid ul::-webkit-scrollbar {
    height: 2px;
}

.pp-offcanvas-content-inner .fl-post-grid ul::-webkit-scrollbar-track {
    background:var(--ems-brown-30);
}

.pp-offcanvas-content-inner .fl-post-grid ul {
    display: flex;
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

.pp-content-grid-highlight-title {
    display: inline-block;
    white-space: normal;
    word-wrap: break-word;
}

.pp-offcanvas-content-inner .fl-post-grid ul .fl-post-column {
    display: block;
    white-space: normal; 
    flex: 0 0 20%;
	margin-bottom:2rem;
	padding-left:1rem;
	padding-right:1rem;
}

.pp-offcanvas-content-inner .fl-post-grid ul::-webkit-scrollbar-track{
	margin-left:1rem;
	margin-right:1rem;
}

.pp-offcanvas-content-inner .fl-post-grid{
	margin-left:-1rem !important;
	margin-right:-1rem !important;
}

@media (max-width: 1280px) {
	.pp-offcanvas-content-inner .fl-post-grid ul .fl-post-column {
		flex: 0 0 25%;
		padding-left:0.75rem;
		padding-right:0.75rem;
	}
	
	.pp-offcanvas-content-inner .fl-post-grid ul::-webkit-scrollbar-track{
		margin-left:0.75rem;
		margin-right:0.75rem;
	}
	
	.pp-offcanvas-content-inner .fl-post-grid{
		margin-left:-0.75rem !important;
		margin-right:-0.75rem !important;
	}
}

@media (max-width: 800px) {
	.pp-offcanvas-content-inner .fl-post-grid ul .fl-post-column {
		flex: 0 0 33%;
		padding-left:0.5rem;
		padding-right:0.5rem;
	}
	
	.pp-offcanvas-content-inner .fl-post-grid ul::-webkit-scrollbar-track{
		margin-left:0.5rem;
		margin-right:0.5rem;
	}
	
	.pp-offcanvas-content-inner .fl-post-grid{
		margin-left:-0.5rem !important;
		margin-right:-0.5rem !important;
	}
}


/*############################################# Owl Carousel General ############################################# */

.pp-content-post-carousel .owl-stage-outer{
	transform:scale(1.02);
}

.pp-content-post-carousel:has(.pp-content-grid-posthero-image) .owl-stage-outer{
    width: 100%;
    margin-left: 0;
}

.pp-content-post-carousel .owl-theme .owl-dots{
	text-align:right;
	margin:0 auto;
	margin-top:3rem;
	max-width: 1640px;
}

.pp-content-post-carousel .owl-theme .owl-controls .owl-buttons div, 
.pp-content-post-carousel .owl-nav button{
	position:relative;
	left:unset !important;
	right:unset !important;
	border-radius:100%;
	margin-right:0.5rem;
	cursor:pointer;
	background:var(--ems-brown);
	color:var(--ems-white);
}

.pp-content-post-carousel .owl-nav button:hover{
	background:var(--ems-blue);
}

.pp-content-post-carousel .pp-carousel-nav{
    max-width: 1640px;
	margin:0 auto;
	margin-top:-1rem;
}

.owl-dots{
	display: flex;
    justify-content: flex-end;
	gap:0.25rem;
	margin-top:1rem;
}

.pp-content-post-carousel .owl-theme .owl-dots .owl-dot{
	height:1.25rem;
	width:1.25rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap:2rem;
}

.pp-content-post-carousel .owl-theme .owl-dots .owl-dot span{
	background:var(--ems-brown);
	opacity:0.5 !important;
	aspect-ratio: 1 / 1;
}

.pp-content-post-carousel .owl-theme .owl-dots .owl-dot.active span,
.pp-content-post-carousel .owl-theme .owl-dots .owl-dot:hover span, 
.pp-content-post-carousel .owl-theme .owl-dots .owl-dot:focus span{
	background:var(--ems-brown);
	opacity:1 !important;
	width:1rem;
	height:1rem;
}

@media (max-width: 800px) {
	.fl-col-content:has(.pp-content-post-carousel){
		padding-left:0 !important;
		padding-right:0 !important;
	}
	
	.pp-content-post-carousel .pp-carousel-nav,
	.pp-content-post-carousel .owl-theme .owl-dots{
		padding:0 0.75rem;
	}
}

/*############################################# Mall Member CTA ############################################# */

#mallmember-cta{
	transition: all 0.5s ease-in-out;
	position:fixed;
	bottom:-21rem;
	right:1rem;
	width:20rem;
	padding-bottom:1rem;
	z-index:10;
	height:15.5rem;
}

#mallmember-cta .pp-infobox-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1rem;
	right: 0;
	bottom: 0;
	background-color: var(--ems-rose-light);
	clip-path: polygon(10% 15%, 80% 10%, 100% 35%, 100% 90%, 50% 100%, 0% 85%);
	z-index: 20;
	height:15.5rem;
}

#mallmember-cta .pp-infobox{
	z-index: 30;
	position: relative;
}

#mallmember-cta .pp-description-wrap{
	margin:1rem 0;
}

#mallmember-cta .pp-infobox-title{
	background-color: var(--ems-rose-dark);
}

#mallmember-cta .pp-infobox-title-wrapper{
	margin-top:-0.5rem !important;
}

#mallmember-cta .pp-more-link{
	background-color: var(--ems-rose-dark) !important;
	padding: 0.5rem 1rem !important;
	color: var(--ems-white) !important;
	border:0 !important;
	position:relative !important;
	bottom:unset;
}

#mallmember-cta.scrolled{
	bottom:-11rem;
}

#mallmember-cta.scrolled:hover{
	bottom:-3rem;
}

/*############################################# Conword Lang Switcher ############################################# */

/* Container */
.cnw-custom-dropdown {
    position: relative;
    display: inline-block;
}

/* Button Styling */
.cnw-dropbtn {
    background: none;
    border: none;
    border-bottom: 2px solid var(--ems-brown); 
    padding: 0.25rem 0;
    font-size: 1.5rem; 
    font-weight: 500;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
	line-height:100%;
}

@media (max-width: 800px) {
	.cnw-dropbtn{
		font-size:1rem;
	}
}

/* Der Pfeil */
.cnw-arrow {
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid var(--ems-brown);
    border-bottom: 2px solid var(--ems-brown);
    transform: rotate(45deg);
    margin-bottom: 0.25rem;
    transition: transform 0.2s ease;
}

/* Das Dropdown-Menü */
.cnw-dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--ems-white);
    z-index: 99999;
    margin-top: -2px;
    padding: 1rem;
    border-top: 2px solid var(--ems-brown);
    -webkit-box-shadow: 0px 4px 16px 4px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 4px 16px 4px rgba(0, 0, 0, 0.16);
}

.cnw-dropdown-content a {
    padding: 0.125rem;
    text-decoration: none;
    display: block;
    font-weight: 500;
    font-size: 1.25rem;
    text-transform: uppercase;
    transition: color 0.2s;
}

@media (max-width: 800px) {
	.cnw-dropdown-content a{
		font-size:0.75rem;
	}
}

.cnw-dropdown-content a:hover {
    color: var(--ems-white);
}

.cnw-dropdown-content.cnw-show {
    display: block !important;
}

/*############################################# Footer ############################################# */

footer h4{
	display: unset;
	width: unset;
	-webkit-box-decoration-break: unset;
	box-decoration-break: unset;
	background-color: unset;
	color: var(--ems-brown);
	padding: unset;
	line-height: unset;
	text-transform: uppercase;
}

/*############################################# General Responsive ############################################# */

@media (max-width: 800px) {
    .fl-col-small:not(.fl-col-small-full-width) {
        max-width: 100%;
    }
}

/*############################################# Fonts ############################################# */

@font-face {
    font-family: 'Arame';
    src: url('fonts/Arame-Regular.eot');
    src: url('fonts/Arame-Regular.eot?#iefix') format('embedded-opentype'),
         url('fonts/Arame-Regular.woff2') format('woff2'),
         url('fonts/Arame-Regular.woff') format('woff'),
         url('fonts/Arame-Regular.svg#Arame') format('svg');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* Klavika Web Regular */
	@font-face {
	font-family: 'Klavika';
	src: url('fonts/KlavikaWebRegular.woff2') format('woff2'),
	     url('fonts/KlavikaWebRegular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Klavika Web Regular Italic */
	@font-face {
	font-family: 'Klavika';
	src: url('fonts/KlavikaWebRegularItalic.woff2') format('woff2'),
	     url('fonts/KlavikaWebRegularItalic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

/* Klavika Web Medium */
	@font-face {
	font-family: 'Klavika';
	src: url('fonts/KlavikaWebMedium.woff2') format('woff2'),
	     url('fonts/KlavikaWebMedium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* Klavika Web Medium Italic */
	@font-face {
	font-family: 'Klavika';
	src: url('fonts/KlavikaWebMediumItalic.woff2') format('woff2'),
	     url('fonts/KlavikaWebMediumItalic.woff') format('woff');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}
