/* Stylesheet FRONTEND */

/*
INHALTSVERZEICHNIS

Allgemeine Styles
Stylingname
Stylingname




// Responsive Selektoren für Elementor

body[data-elementor-device-mode=mobile] selector { 
	height: calc(100vh - 70px);
}

// Logo mit ID "logo" im Sticky Header nach Scroll verkleinern

#logo img {
	 transition: all 0.3s ease;
}
.elementor-sticky--effects #logo img {
	 max-width: 140px;
	 transition: all 0.3s ease;
}

*/


.ws-hero-title {
	background-image: url("https://wohnstift-rathsberg.de/wp-content/uploads/2022/10/bildmarke-wasserzeichen.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 4.2rem 50%;
	padding-block: 2rem;
	padding-inline: 1rem;
}

.ws-hero-title::after {
	content:'';
	width:8rem;
	height:1px;
	margin-top:0.27em;
	background-color: var(--divider-color, black);
	display:block;
}


.ws-hero-title-invers {
	background-image: url("https://wohnstift-rathsberg.de/wp-content/uploads/2022/10/bildmarke-wasserzeichen-weiss.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 4.2rem 50%;
	padding-block: 2rem;
}

.ws-hero-title-invers::after {
	content:'';
	width:8rem;
	height:1px;
	margin-top:0.27em;
	background-color: white;
	display:block;
}


/*impressionen */
.hidden {
	display:block;
	width:100vw;
	max-width:1630px;
	position:absolute;
	z-index:-33333;
	opacity:0;
	left:0;
}


p:last-child {margin-bottom:0} 

.elementor-post__excerpt p:last-child:after {content:' ...';} 

::-moz-selection { 
   color:#fff; 
   background:var( --e-global-color-primary,#333 ) ;
   text-shadow: none; 
}

::selection { 
   color:#fff; 
   background:var( --e-global-color-primary,#333 );
   text-shadow: none; 
}

b, strong, .strong {
	font-weight:bold;
}

hr.wp-block-separator {
	margin-top:1.2em;
	margin-bottom:1.2em;
}

.hyperlink_in_text{
    text-decoration: underline;
    border-bottom: 1px solid var( --e-global-color-258fb66 );
    transition: all 0.2s ease;
}
a.hyperlink_in_text:hover{
    background: var( --e-global-color-258fb66 );
    color: #ffffff;
}
    
/* Allgemeine Abstandsklassen */
.elementor-element.custom-margin-bottom-sm {
    margin-bottom:2rem;
}
.elementor-element.custom-margin-bottom-md {
    margin-bottom:4rem;
}
.elementor-element.custom-margin-bottom-lg {
    margin-bottom:8rem;
}

/* Responsive Anpassung */
body[data-elementor-device-mode=mobile] .elementor-element.custom-margin-bottom-sm { margin-bottom: 1rem; }
body[data-elementor-device-mode=tablet] .elementor-element.custom-margin-bottom-sm { margin-bottom: 1.5rem; }

body[data-elementor-device-mode=mobile] .elementor-element.custom-margin-bottom-md { margin-bottom: 2rem; }
body[data-elementor-device-mode=tablet] .elementor-element.custom-margin-bottom-md { margin-bottom: 3rem; }

body[data-elementor-device-mode=mobile] .elementor-element.custom-margin-bottom-lg { margin-bottom: 4rem; }
body[data-elementor-device-mode=tablet] .elementor-element.custom-margin-bottom-lg { margin-bottom: 6rem; }


.custom-row-gap-sm .elementor-container>.elementor-row {
    gap:1rem;
}
.custom-row-gap-md .elementor-container>.elementor-row {
    gap:2rem;
}
.custom-row-gap-lg .elementor-container>.elementor-row {
    gap:4rem;
}

body[data-elementor-device-mode=tablet] .custom-row-gap-sm .elementor-container>.elementor-row { gap:0.5rem; gap:0;}
body[data-elementor-device-mode=mobile] .custom-row-gap-sm .elementor-container>.elementor-row { gap:0.4rem; gap:0}

body[data-elementor-device-mode=tablet] .custom-row-gap-md .elementor-container>.elementor-row { gap:1.3rem; gap:0;}
body[data-elementor-device-mode=mobile] .custom-row-gap-md .elementor-container>.elementor-row { gap:1rem; gap:0;}

body[data-elementor-device-mode=tablet] .custom-row-gap-lg .elementor-container>.elementor-row { gap:3rem; gap:0;}
body[data-elementor-device-mode=mobile] .custom-row-gap-lg .elementor-container>.elementor-row { gap:2rem; gap:0;}


/*

custom-margin-bottom-sm
custom-margin-bottom-md
custom-margin-bottom-lg
custom-margin-bottom-xl

custom-row-gap-sm
custom-row-gap-md
custom-row-gap-lg
custom-row-gap-xl


*/

/* Außenabstand zum Browserrand*/
[data-elementor-type="wp-page"]>.elementor-inner>.elementor-section-wrap>section.elementor-section {
	padding-left:27px;
	padding-right:27px;
}

body[data-elementor-device-mode=mobile] [data-elementor-type="wp-page"]>.elementor-inner>.elementor-section-wrap>section.elementor-section {
	padding-left:16px;
	padding-right:16px;
}


.heading-box div {
	padding:0;
}

.heading-box {
	padding:3rem 0rem 3rem;
}

body[data-elementor-device-mode=tablet] .heading-box {
	padding:2rem 0rem 2rem;
}

body[data-elementor-device-mode=mobile] .heading-box {
	padding:1em 0;
	margin-bottom:2rem;
}


/* Elementor popup: mobile menu. wp nav widget stylen */
#mobile-menu-nav ul.menu {
	color: var(--e-global-color-primary);
	list-style:none;
	padding:0;
	margin:0;
}
#mobile-menu-nav ul.menu>.menu-item {
	text-transform: uppercase;
	font-weight:bold;
	font-size:1.2rem;
	margin-bottom:0.4rem;
}
#mobile-menu-nav ul.menu>.menu-item>.sub-menu {
	text-transform:none;
	font-weight:normal;
	font-size:1rem;
	list-style: none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction: row;
    flex-wrap: wrap;
}



#mobile-menu-nav ul.menu>.menu-item>.sub-menu>.menu-item:not(:last-child)::after {
	content:'\2022';
	display:inline-block;
	padding-left: 0.5em;
	padding-right:0.5em;
}


/* kombiniert mit script.js funktion */
.prevent-default a {
	cursor:default;
}


/* Listing immer Spalten tauschen  - Alternierendes Layout */
.jet-listing-grid__item:nth-child(even) .alternating-layout .elementor-row {
	flex-direction: row-reverse;
}


/*Startseiten-Header-Nav für die Startseite bearbeiten */
.home .elementor-location-header ul.elementor-nav-menu>li.menu-item>a {
    color:#fff!important;
}
.home #site-logo {
    filter: brightness(0) invert(1);
}
.home header .elementor-column-wrap.elementor-element-populated {
	border-bottom:0!important;
}

/* Kleiner Strich unterhalb der Hauptelemente wenn sie AKTIV sind */
/* header nav.elementor-nav-menu--main>ul.elementor-nav-menu:not(.sub-menu)>li.current-menu-item a:before { */
header nav.elementor-nav-menu--main>ul#menu-1-ed109d2>li.current-menu-item>a:before {
	
	
	content:'';
	display:block;
	width:27%;
	margin-top:1.3em;
	border-bottom: 1px solid var(--e-global-color-primary);
}



/* Elementor Accordion */

.elementor-accordion .elementor-tab-title .elementor-accordion-icon.elementor-accordion-icon-right {
    background: var(--e-global-color-primary);
    padding: 10px ;
    display: block;
    width: 40px;
    text-align:center;
	margin-top:-6px;
	margin-right:-20px;
}

.elementor-accordion .elementor-tab-content {
	background: var(--e-global-color-1e2d41f);
}

.elementor-accordion .elementor-accordion-item {
	border:none;
}

.elementor-tab-title {
	border-bottom:1px solid ;
	border-color:var(--e-global-color-primary);
}

/* service */
.service-iconboxen .elementor-icon-box-title:after {
	content:'';
	display:block;
	width:12%;
	border-bottom: 1px solid var(--e-global-color-primary);
}
 

.elementor-editor-active [id^=expand] {
	border:2px dashed #C17AD4;
}

.elementor-swiper-button {
	background-color:var(--e-global-color-primary);
	padding:4px;
	color:white;
}

.privacy-policy h3 {
	font-size:1.3rem;
	text-transform: none;
}
.privacy-policy h4 {
	font-size:1.1rem;
}


.jet-form-builder .checkboxes-wrap a {
	text-decoration:underline;
}

.page-impressum h2, 
.privacy-policy h2, 
.page-cookie-richtlinie-eu h2,
.page-impressum h3, 
.privacy-policy h3, 
.page-cookie-richtlinie-eu h3,
.page-impressum h4, 
.privacy-policy h4, 
.page-cookie-richtlinie-eu h4
{
	margin-top:1.5em;
}


/* Helfer Framework RB 12.3.2025 wegen neuer Karriere-Seite */
:root {
    --min-screen-width: 478px;
    --max-screen-width: 1630px;
    --space-4xs: clamp(0.24rem, calc(-0.1vw + 0.27rem), 0.17rem);
    --space-3xs: clamp(0.32rem, calc(-0.07vw + 0.34rem), 0.27rem);
    --space-2xs: clamp(0.42rem, calc(0.01vw + 0.42rem), 0.43rem);
    --space-xs: clamp(0.56rem, calc(0.17vw + 0.51rem), 0.68rem);
    --space-s: clamp(0.75rem, calc(0.48vw + 0.61rem), 1.09rem);
    --space-m: clamp(1rem, calc(1.04vw + 0.69rem), 1.75rem);
    --space-l: clamp(1.33rem, calc(2.04vw + 0.72rem), 2.8rem);
    --space-xl: clamp(1.78rem, calc(3.75vw + 0.66rem), 4.48rem);
    --space-2xl: clamp(2.37rem, calc(6.67vw + 0.38rem), 7.17rem);
    --space-3xl: clamp(3.16rem, calc(11.54vw + -0.29rem), 11.47rem);
    --space-4xl: clamp(4.21rem, calc(19.64vw + -1.66rem), 18.35rem);
    --text-xs: clamp(0.69rem, calc(-0.18vw + 0.74rem), 0.56rem);
    --text-s: clamp(0.78rem, calc(-0.04vw + 0.79rem), 0.75rem);
    --text-m: clamp(0.88rem, calc(0.17vw + 0.82rem), 1rem);
    --text-l: clamp(0.98rem, calc(0.48vw + 0.84rem), 1.33rem);
    --text-xl: clamp(1.11rem, calc(0.93vw + 0.83rem), 1.78rem);
    --text-2xl: clamp(1.25rem, calc(1.56vw + 0.78rem), 2.37rem);
    --text-3xl: clamp(1.4rem, calc(2.44vw + 0.67rem), 3.16rem);
    --text-4xl: clamp(1.58rem, calc(3.66vw + 0.48rem), 4.21rem);
	--radius-xs: clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem);
    --radius-s: clamp(0.38rem, calc(-0.17vw + 0.55rem), 0.5rem);
    --radius-m: clamp(0.63rem, calc(-0.17vw + 0.8rem), 0.75rem);
    --radius-l: clamp(1rem, calc(-0.35vw + 1.35rem), 1.25rem);
    --radius-xl: clamp(1.63rem, calc(-0.52vw + 2.16rem), 2rem);
    --radius-full: 999rem;

	--shadow-primary: hsla(0, 0%, 12%, 0.4);
    --shadow-xs: 0 1px 2px var(--shadow-primary);
    --shadow-s: 0 1.5px 3px var(--shadow-primary);
    --shadow-m: 0 2px 6px var(--shadow-primary);
    --shadow-l: 0 3px 12px var(--shadow-primary);
    --shadow-xl: 0 6px 48px var(--shadow-primary);

	--grid-2: repeat(2, 1fr);
	--grid-3: repeat(3, 1fr);
	--grid-4: repeat(4, 1fr);
	--grid-5: repeat(5, 1fr);
	--grid-6: repeat(6, 1fr);
	--grid-7: repeat(7, 1fr);
	--grid-8: repeat(8, 1fr);
	--grid-2_1: 2fr 1fr;  
	--grid-1_2: 1fr 2fr;  
    --grid-min-5: repeat(auto-fit, minmax(5rem, 1fr));
    --grid-min-10: repeat(auto-fit, minmax(10rem, 1fr));
    --grid-min-20: repeat(auto-fit, minmax(20rem, 1fr));
    --grid-min-30: repeat(auto-fit, minmax(30rem, 1fr));
    --grid-min-40: repeat(auto-fit, minmax(40rem, 1fr));
    --grid-min-50: repeat(auto-fit, minmax(50rem, 1fr));
    --grid-min-60: repeat(auto-fit, minmax(60rem, 1fr));
    --grid-min-70: repeat(auto-fit, minmax(70rem, 1fr));
}

.flex-grid {
	display: flex;
	flex-wrap: wrap;
  }
  
  .item {
	flex: 1 1 250px; /* Basisbreite 250px */
	max-width: calc(25% - 1rem); /* Max. 4 Spalten */
  }



.watermark-bg {
    position:absolute;
    inset:0;
    top:calc(var(--space-l) * -1 );
}

.watermark-bg img {
	width:100%;
    max-width:16rem;
}

/* Klasse für Elementor Button im secondary-Style */
.ebtn--secondary a.elementor-button {
	background-color: white;
	color: var(--e-global-color-primary);
	border:2px solid var(--e-global-color-primary);
}

.ebtn--secondary a.elementor-button:hover {
	background-color: var(--e-global-color-primary);
	color: white;
}

.section-block-padding {
	padding-top: var(--space-xl);
	padding-bottom:var(--space-xl);
}

.shadow-box {
	padding: var(--space-l) ;
	background-color:white;
	box-shadow: var(--shadow-m);
}