
html {
	scroll-behavior: smooth;
}

/* Scroll-Offset für Fixed Header */
html {
	scroll-padding-top: 30px;
}

/* ======================================
   1. CSS VARIABLES (ROOT)
   ====================================== */
:root {
	/* Hauptfarben */
	--primary-color: #003c88;
	--secondary-color: #003c88;
	--accent-color: #7cb342;
	--accent-blue: #007acc;
	--accent-blue-dark: #0056b3;
	--accent-blue-light: #1976d2;

	/* Textfarben */
	--text-color: #333;
	--text-light: #666;
	--text-grey: #919191;
	--text-white: #ffffff;

	/* Hintergrundfarben */
	--background: #fafafa;
	--background-light: #f1f1f1;
	--background-lighter: #f8f9fa;
	--background-overlay: rgba(244, 242, 240, 0.95);
	--card-bg: #ffffff;

	/* Randfarben */
	--border-color: #e0e0e0;
	--border-light: #f0efef;
	--border-lighter: #f0f0f0;

	/* Schatten */
	--shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	--shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
	--shadow-card: 0 2px 10px rgba(0, 0, 0, 0.1);
	--shadow-card-hover: 0 5px 20px rgba(0, 0, 0, 0.15);
	--shadow-image: 0 4px 12px rgba(0, 0, 0, 0.15);

	/* Layout */
	--border-radius: 8px;
	--max-width: 1800px;
	--max-width-large: 1800px;
	--transition: all 0.3s ease;

	/* Abstände */
	--spacing-xs: 5px;
	--spacing-sm: 5px;
	--spacing-md: 15px;
	--spacing-lg: 27px;
	--spacing-xl: 30px;
	--spacing-xxl: 40px;
}

/* ======================================
   2. GLOBAL STYLES
   ====================================== */
body {
	font-family: "Ubuntu" !important;
	color: var(--text-grey);
	line-height: 1.728571429;
	margin: 0;
	padding: 0;
	background: #fbf6f1c4;
}

/* Überschriften behalten Roboto */
h1, h2, h3, h4, h5, h6 {
	font-family: "Ubuntu";
}


/* Overlay für Navigation Dropdown */
body::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0);
	pointer-events: none;
	transition: background 0.4s ease;
}

a{/*! text-decoration:none; */color: #004d9f;}

body:has(.mm_isActive)::before {
	background: rgba(0, 0, 0, 0.5);
	pointer-events: auto;
	z-index: 9;
}

body:has(.mm_isActive) .left-slide {
	opacity: 0.5;
}



body.dropdown-active::before {
	background: rgba(0, 0, 0, 0.5);
	pointer-events: auto;
}

body.dropdown-active #hero-video-wrapper::after {
	background: rgba(0, 0, 0, 0.6);
}

body.menu-open {
	overflow: hidden;
}


#start{padding-top:10px}
#wrapper {
	margin: 0 auto;
	/*! padding: 0px 0px 40px 0px; */
	/*! max-width: 1730px; */
	/*! width: 80%; */
}


#main{padding-bottom:40px}
.inside {
	align-items: center;
	max-width: 2000px;
	margin: 0 auto;
	max-width: 1800px;
	width: 80% !important;
}

.clear {
	clear: both;
}

.center.whitebg {
	background: var(--background-light);
	text-align: center;
	margin-bottom: var(--spacing-xl);
	margin-top: 27px;
}

.zentriert {
	text-align: center;
}

.zweispaltig {
	column-count: 2;
	column-gap: 2em;
}

/* ======================================
   3. TYPOGRAPHY
   ====================================== */
h1,
h2, h3 {
	color: #2b2b2b !important;
}


#wrapper h1 {
	font-size: 35px;
	margin: 1rem 0 1rem;
	font-weight: 4000;
	/*! padding-left: 1rem; */
	text-align: center;
	line-height: 50px !important;
	padding-bottom: 15px;
}



#wrapper h2 {
	font-size: 46px;
	margin: 2rem 0 1rem;
	font-weight: 500;
	/*! padding-left: 1rem; */
	text-align: center;
}

h3 {
	font-size: 1.6em;
	margin-bottom: 1rem;
	color: #000;
	text-align: justify;
	font-weight: 400;
	line-height: 36px;
}

p {
	margin-bottom: 1rem;
	color: #373636;
}


.institutsfinder_button {display:inline-block;font-weight:bold;text-transform:uppercase;padding:20px 50px;background:#003c88;color: white;border-radius: 16px;text-decoration: none;margin-top: 24px;font-size: 1rem;text-align: center;}

/* ======================================
   4. HEADER & NAVIGATION
   ====================================== */
#header {
	background: var(--text-white);
	border-bottom: 1px solid var(--border-light);
	z-index: 999999;
	position: relative;
	padding: var(--spacing-lg) 0 var(--spacing-md) 0;
}

#header .inside {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

#mainnav {
	position: relative;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 0.7rem;
	z-index: 9999;
	border-bottom: 1px solid var(--text-white);
	max-width: 1800px;
	width: 80%;
	margin: 0px auto;
}

#mainnav .logo {
	flex-shrink: 0;
	float: left;
}

#mainnav .logo a img {
	content: url('../images/Allgemein/LOGO_Weyergans_highcare_weiss.png');
	transition: opacity 0.3s ease;
	filter: none !important;
	max-width: 200px;
	height: auto;
	padding: 12px 8px 5px 8px;
}

#mainnav .icons_header {
	flex-shrink: 0;
	display: flex;
	gap: 0.5rem;
	margin-top: 20px;
	float: right;
	color: var(--text-white);
}

#mainnav .icons_header img{position:relative;top:3px;padding-right:10px;max-height: 21px;}

#bottomheader {
	z-index: 100;
	position: relative;
	background: var(--text-white);
	padding-bottom: var(--spacing-lg);
}

#bottomheader .inside {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: var(--spacing-sm) var(--spacing-md);
	border-bottom: 1px solid #004895;
	position: relative;
}

/* Navigation Links - Normal (Weiß) */
nav.mod_navigation.block ul.level_1 {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	color: #fff;
	overflow: visible;
	/*! cursor: pointer; */
}

nav.mod_navigation.block ul.level_1 i {
	color: #fff !important;
	transition: color 0.4s ease;
}

nav.mod_navigation.block ul.level_1 li strong{cursor:pointer;}

nav.mod_navigation.block ul.level_1 li {
	margin-right: var(--spacing-lg);
}

nav.mod_navigation.block ul.level_1 li a {
	text-decoration: none;
	color: #fff !important;
	font-weight: 403;
	font-size: 16px;
	transition: color 0.4s ease;
}

nav.mod_navigation .rte a {
	color: var(--primary-color) !important;
}

nav.mod_navigation.block .inner a {
	font-weight: 400 !important;
}

.icons_header a,
.icons_header i {
	color: #fff !important;
	transition: color 0.4s ease;
}

.icons_header i {
	margin-right: var(--spacing-sm);
	font-size: 1.2rem;
	color: var(--text-white);
	padding-left: var(--spacing-sm);
}

.linksheader a {
	margin-left: var(--spacing-md);
	text-decoration: none;
	color: #004895;
	font-size: 14px;
}

.mod_navigation {
	margin-top: 20px;
	overflow: visible !important;
	float: left;
	margin-left: 38px;
}

/* Navigation - Dropdown aktiv (Blau) */
body:has(.mm_isActive) #mainnav,
#mainnav:has(.mm_isActive) {
	/*! border-bottom-color: #004895 !important; */
}

body:has(.mm_isActive) #hero-video-wrapper>.inside,
body:has(.mm_isActive) #hero-image-wrapper>.inside {
	background-color: rgb(255, 255, 255) !important;
}

body:has(.mm_isActive) #mainnav .logo img,
#mainnav:has(.mm_isActive) .logo img {
	content: url('../images/Allgemein/LOGO_Weyergans_highcare_blau.png') !important;
	width: 250px;
}

body:has(.mm_isActive) nav.mod_navigation.block ul.level_1 li,
#mainnav:has(.mm_isActive) nav.mod_navigation.block ul.level_1 li a {
	color: #004895 !important;
}

nav.mod_navigation.block ul.level_1 li a.mm_isActive {
	color: #002e85 !important;
	text-decoration: underline !important;
}

body:has(.mm_isActive) nav.mod_navigation.block ul.level_1 i,
#mainnav:has(.mm_isActive) nav.mod_navigation.block ul.level_1 i {
	color: #004895 !important;
}

body:has(.mm_isActive) .icons_header a,
body:has(.mm_isActive) .icons_header i,
#mainnav:has(.mm_isActive) .icons_header a,
#mainnav:has(.mm_isActive) .icons_header i {
	color: #004895 !important;
}

body:has(.mm_isActive) nav.mod_navigation.block ul.level_1 li a:hover {
	color: #002e85 !important;
	text-decoration: underline;
}

body:has(.mm_isActive) .icons_header a:hover i {
	color: #002e85 !important;
	transform: scale(1.1);
}

body:has(.mm_isActive) #hero-video-wrapper::after,
body:has(.mm_isActive) #hero-image figure::after {
	background: rgba(0, 0, 0, 0.6);
}

/* Fallback für Browser ohne :has() */
body.dropdown-active #mainnav {
	background-color: rgba(255, 255, 255, 0.98) !important;
	backdrop-filter: blur(10px);
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
	border-bottom-color: #004895 !important;
}

body.dropdown-active #hero-video-wrapper>.inside {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

body.dropdown-active #mainnav .logo a {
	content: url('../images/Allgemein/LOGO_Weyergans_highcare_blau.png') !important;
	filter: invert(15%) sepia(100%) saturate(3158%) hue-rotate(209deg) brightness(91%) contrast(105%) !important;
}

body.dropdown-active nav.mod_navigation.block ul.level_1 li a {
	color: #004895 !important;
}

body.dropdown-active nav.mod_navigation.block ul.level_1 li a.mm_isActive {
	color: #002e85 !important;
	font-weight: 600;
}

body.dropdown-active nav.mod_navigation.block ul.level_1 i {
	color: #004895 !important;
}

body.dropdown-active .icons_header a,
body.dropdown-active .icons_header i {
	color: #004895 !important;
}

/* Scroll Navigation */
#mainnav.scrolled {
	background-color: rgba(255, 255, 255, 0.95);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	border-bottom-color: #e0e0e0;
}

#mainnav.scrolled .logo img {
	filter: none;
}


#mainnav.scrolled nav.mod_navigation.block ul.level_1 li a {
	color: #000 !important;
}

#mainnav.scrolled nav.mod_navigation.block ul.level_1 i {
	color: #000 !important;
}

#mainnav.scrolled .icons_header i,
#mainnav.scrolled .icons_header a {
	color: #000 !important;
}

#hero-video-wrapper>.inside {
	transition: background-color 0.4s ease;
	background-color: transparent;
}

#hero-video-wrapper>.inside,
#hero-image-wrapper>.inside {
	max-width: 100%;
}

/* Dropdown Menu */
.mm_dropdown {
	position: absolute;
	left: 0;
	right: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(-50vw + 50%);
	box-sizing: border-box;
	background-color: var(--background-overlay);
	z-index: 100;
	padding: 0;
}

.mm_dropdown>.inner {
	max-width: 1800px;
	margin: 0 auto;
	padding: 40px 20px;
	box-sizing: border-box;
	background: transparent !important;
	border: 0;
	z-index: 9999999999;
	position: relative;
	display: flex;
	gap: var(--spacing-lg);
	width: 80% !important;
}

.mod_navigation li.mm_container .mm_dropdown>.inner {
	border: 0px;
}

.mm_dropdown .content-text {
	padding: var(--spacing-sm);
	flex: 0.4 1 20%;
	box-sizing: border-box;
}

.mm_dropdown h2 {
	margin-top: 0;
	font-size: 21px;
	text-transform: uppercase;
	color: #004996 !important;
	font-weight: 500;
}

.mm_dropdown h2 a {
	color: var(--primary-color) !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}

.mod_navigation li.mm_container .mm_dropdown {
	visibility: hidden;
	max-height: 0;
	opacity: 0;
	overflow: visible;
	transition: max-height 0.8s ease, transform 0.8s ease;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 9;
	pointer-events: none;
	display: block !important;
	top: 72px;
}

.mod_navigation li.mm_container:not(.mm_container_onClickOnly):hover .mm_dropdown,
.mod_navigation li.mm_container.mm_container_onClickOnly .mm_isActive~.mm_dropdown {
	visibility: visible;
	max-height: 1000px;
	opacity: 1;
	pointer-events: auto;
	background-color: var(--card-bg);
	top: 103px;
	line-height: 32px;
}

#navOverlay {
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 89;
	display: none;
}

/* ======================================
   5. HERO SECTIONS
   ====================================== */
#hero-video-wrapper {
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: 999999999;
}
#hero-image-wrapper .inside{width:100% !Important}
#hero-video-wrapper .inside{width:100% !Important}
#hero-video-wrapper .inside .hero-overlay .inside{width:80% !important;}
#hero-image-wrapper .inside .hero-overlay .inside{width:80% !important}



#hero-image-wrapper {
	position: relative;
	width: 100vw;
	overflow: hidden;
	z-index: 10;
	min-height: 490px;
}

#hero-video-wrapper .inside,
#hero-image-wrapper .inside {
	position: unset !important;
}

#hero-image-wrapper .inside .inside {
	position: unset !important;
	width: 80% !important;
}

#hero-video-wrapper .inside .inside {
	/*! width: 80% !important; */
	/*! max-width: 2000px; */
	margin: 0px auto;
}

.mod_newslist .mehrblog a{color:white;text-align:center;}



#hero-video-wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right,
			rgba(0, 0, 0, 0.8) 0%,
			rgba(0, 0, 0, 0.4) 50%,
			rgba(0, 0, 0, 0) 100%);
	pointer-events: none;
	z-index: -1;
}

.contao-cookiebar {z-index:9999999999 !important}

#hero-video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100vw;
	min-height: 100vh;
	transform: translate(-50%, -50%);
	object-fit: cover;
	z-index: -2;
}

#hero-image {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100vw;
	min-height: 100%;
	transform: translate(-50%, -50%);
	z-index: -1;
	background: white;
	overflow: visible;
}


.formbody {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 24px;
	align-items: start;
}

.widget-text {
	grid-column: 1;
}

.widget-textarea {
	grid-column: 2;
	grid-row: 1 / 8;
}

.widget-textarea textarea {
	width: 100%;
	height: 100%;
	min-height: 300px;
	resize: vertical;
}

.widget-checkbox {
	grid-column: 1 / -1;
}

.widget-submit {
	grid-column: 1 / -1;
}

.formbody input[type="text"],
.formbody input[type="email"],
.formbody select ,
.formbody input[type="tel"],
.formbody input[type="number"],
.formbody textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--border-color, #ddd);
	border-radius: 4px;
	font-family: 'Instrument Sans', 'Roboto', sans-serif;
	font-size: 15px;
	color: var(--text-color);
	background: #fff;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	box-sizing: border-box;
}

.formbody input:focus,
.formbody textarea:focus {
	outline: none;
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(0, 60, 136, 0.1);
}

.formbody input::placeholder,
.formbody textarea::placeholder {
	color: #999;
}

.checkbox_container {
	border: none;
	padding: 0;
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
}

.checkbox_container span {
	display: flex;
	align-items: center;
	gap: 8px;
}

.checkbox_container input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--primary-color);
	cursor: pointer;
}

.checkbox_container label {
	font-size: 15px;
	cursor: pointer;
}

.formbody .submit {
	display: inline-block;
	padding: 14px 40px;
	background: var(--primary-color);
	color: #fff;
	border: 2px solid var(--primary-color);
	border-radius: 0;
	font-size: 1rem;
	font-weight: 500;
	font-family: 'Instrument Sans', 'Roboto', sans-serif;
	cursor: pointer;
	transition: var(--transition);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.formbody .submit:hover {
	background: #002a66;
	border-color: #002a66;
}

@media (max-width: 768px) {
	.formbody {
		grid-template-columns: 1fr;
	}

	.widget-text,
	.widget-textarea,
	.widget-checkbox,
	.widget-submit {
		grid-column: 1;
	}

	.widget-textarea {
		grid-row: auto;
	}

	.widget-textarea textarea {
		min-height: 150px;
	}
}


#hero-image figure {
	text-align: center;
	background: #8f9ea5;
}

#hero-image img {
	max-width: auto !important;
	height: auto !important;
	animation: subtleZoom 8s ease-in-out infinite;
}

#hero-image figure::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right,
			rgba(0, 0, 0, 0.8) 0%,
			rgba(0, 0, 0, 0.4) 50%,
			rgba(0, 0, 0, 0) 100%);
	pointer-events: none;
	z-index: 1;
}

#hero-image figure img {
	-webkit-mask-image:
		linear-gradient(90deg,
			transparent 0%,
			black 5%,
			black 95%,
			transparent 100%),
		linear-gradient(180deg,
			transparent 0%,
			black 5%,
			black 95%,
			transparent 100%);
	-webkit-mask-composite: intersect;
	mask-image:
		linear-gradient(90deg,
			transparent 0%,
			black 5%,
			black 90%,
			transparent 100%),
		linear-gradient(180deg,
			transparent 0%,
			black 5%,
			black 95%,
			transparent 100%);
	mask-composite: intersect;
}

.hero-overlay {
	position: absolute;
	top: 0px;
	left: 0;
	width: 100%;
	height: 107%;
	color: var(--text-white);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 9999;
	overflow: visible;
}


.hero-overlay p {
	color: white;
	font-size: 2.3rem;
	margin: 0;
	font-weight: 300;
	/*! line-height: 49px; */
}




#hero-video-wrapper .hero-overlay h1 {
	font-size: 1.5rem;
	color: #fff !important;
	margin-bottom: 18px;
	font-weight: 300;
	margin-top: 1px;
	/*! color: red !important; */
}


sup{top:-15px;position:relative;}

#hero-image-wrapper .hero-overlay h1 {
	font-size: 3rem;
	color: #fff !important;
	margin-bottom: 18px;
	font-weight: 300;
	margin-top: 1px;
	line-height: 44px;
}

#hero-image-wrapper .left-slide {
	margin-top: 10px !important;
}



#hero-image-wrapper p{font-size:20px;/*! line-height: 29px; *//*! color: #004895; */}

.mm_dropdown p{color:#004895;font-size: 16px !important;}


.left-slide {
	max-width: 50%;
	text-align: left;
	line-height: 29px;
	margin-top: 70px;
}

.left-slide strong{font-size:40px;font-weight: 400;margin-bottom: 8px;display: block;line-height: 39px;}

#hero-video-wrapper .left-slide {
	line-height: 43px;
}

#hero-video-wrapper a {
	color: white;
	text-decoration: none;
}

.left-slide button {
	background: var(--primary-color);
	color: var(--text-white);
	padding: 16px 40px;
	border-radius: 7px;
	border: 1px solid var(--primary-color);
	margin-top: 31px;
	cursor: pointer;
	font-size: 1.1rem;
	font-weight: 402;
	margin-right: 17px;
}


.play-button {
	width: 70px;
	height: 70px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease, background 0.3s ease;
	position: relative;
}

.play-button::before,
.play-button::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.6);
	transform: translate(-50%, -50%) scale(1);
	animation: pulse-ring 2s ease-out infinite;
}

.play-button::after {
	animation-delay: 0.8s;
}

@keyframes pulse-ring {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.8;
	}
	100% {
		transform: translate(-50%, -50%) scale(1.8);
		opacity: 0;
	}
}

.play-button i {
	font-size: 24px;
	color: var(--primary-color);
	margin-left: 4px;
	position: relative;
	z-index: 1;
}

.video-preview:hover .play-button {
	transform: scale(1.1);
	background: #fff;
}

/* Video-Trigger Buttons (externe Links) */
[data-open-video] {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 30px;
	background: var(--primary-color);
	color: #fff;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	overflow: visible;
	transition: background 0.3s ease, transform 0.3s ease;
	font-family: 'Instrument Sans', 'Roboto', sans-serif;
}

[data-open-video] .fa-circle-play {
	font-size: 1.3em;
	animation: btn-pulse 2s ease-in-out infinite;
}

@keyframes btn-pulse {
	0%, 100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.2);
		opacity: 0.8;
	}
}

[data-open-video]::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	border: 2px solid var(--primary-color);
	transform: translate(-50%, -50%) scale(1);
	animation: btn-ring 2.5s ease-out infinite;
	pointer-events: none;
}

@keyframes btn-ring {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.5;
	}
	100% {
		transform: translate(-50%, -50%) scaleX(1.15) scaleY(1.6);
		opacity: 0;
	}
}

[data-open-video]:hover {
	background: #002a66;
	transform: scale(1.03);
}

[data-open-video]:hover .fa-circle-play {
	animation: none;
	transform: scale(1.2);
}

.left-slide button a {
	color: white;
	text-decoration: none;
}

.left-slide button.outline {
	border: 0px;
	background: transparent;
	box-shadow: inset 0 0 0 var(--border-width, 1px) var(--border-color, unset);
}

.left-slide button.outline:hover {
	background: var(--primary-color);
	box-shadow: inset var(--primary-color) var(--border-width, 1px) var(--border-color, unset);
}

/* ======================================
   6. CONTENT ELEMENTS
   ====================================== */
#sliderarea {
	margin-top: var(--spacing-lg);
}

#sliderarea .inside {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

.mod_rocksolid_slider {
	clear: both;
}

#main .inside {
	max-width: 1800px;
	margin: 0 auto;
	padding-top: 20px;
	padding: 0px 0% 0px 0px;
	width: 80% !important;
}

#main .inside .content-text {
	color: var(--text-color);
	text-align: center;
	padding: 61px 0px 26px 0px;
	max-width: 60%;
	margin: 0px auto;
	border-top: 1px solid #e3e0d9;
	font-size: 1.1rem;
}

#main .inside .content-text.lowpadding {padding-top:0px}

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

#karriere{max-width:100% !important; padding:0px}

#karriere a{color:black;text-decoration:none;color:black !important}
#karriere h3{padding:0px !important}

.home #main .inside .content-text{padding:50px 40px 30px 0px !important;border:0px;}


#main .inside .content-text:first-child{padding-top:20px}

#main .inside .content-headline{	border-top: 1px solid #e3e0d9;	padding: 35px 0px 35px 0px;}
#main .inside h2.content-headline{	font-size:2rem; border-top: 1px solid #e3e0d9;	padding: 43px 0px 20px 0px;}

#main .inside .content-text h2:first-child {
	padding-top: 0px;
	margin-top: 0px;
}

#main .inside .content-text h2{line-height:1.2}

#main .inside .content-text strong {
	font-weight: 700 !important;
}

#main .inside .content-text a {
	color: #004996;
}

#main .inside a.button  {
	color: white;
}


#main .inside .content-text h2 {
	color: #2b2b2b;
	font-size: 27px;
	border-left: 0px aliceblue;
	padding-left: 0px;
	margin-bottom: 23px;
	font-weight: 400;
	padding-top: 58px;
}

#main .mod_article {
	padding: 0px 0px 0px 0px;
	overflow: visible;
}

.content-text {
	padding: 0;
}

.article-wrapper {
	overflow: visible;
}

.row70 {
	display: flex;
	align-items: flex-start;
}

.row70figure {
	width: 30%;
	margin-right: var(--spacing-lg);
}

.row70 .rte {
	width: 70%;
	padding: var(--spacing-lg);
}

/* Intro Text */
.intro-text {
	/*! color: #2c3e50; */
	/*! background: #ecf0f1; */
	/*! padding: var(--spacing-lg); */
	/*! border-radius: 6px; */
	/*! margin-bottom: var(--spacing-xl); */
	/*! border-left: 4px solid #3498db; */
	/*! line-height: 1.6; */
	/*! font-weight: 400; */
}

.intro-text p {
	margin-bottom: 0px;
}

/* Highlight Section */
.highlight-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
	padding: 0px 20px 20px 20px;
	margin: 2rem 0;
	position: relative;
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: var(--transition);
}

.highlight-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--accent-blue));
	background-size: 200% 100%;
	animation: gradientFlow 3s ease-in-out infinite;
}

.highlight-section:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
}

.highlight-section h2 {
	color: var(--primary-color);
	font-size: 1.6rem;
	margin-bottom: 1rem;
	border-left: none;
	padding-left: 0;
	position: relative;
}

.highlight-section h2::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--accent-color), var(--accent-blue));
	border-radius: 2px;
}

.highlight-section p {
	color: var(--text-light);
	font-size: 1.05rem;
	line-height: 1.7;
	margin: 0;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}


.mod_newsreader{overflow:visible !important;}

.mod_newsreader .layout_full{overflow:visible !important;}

/* Action Button */
.action-button {
	text-align: center;
	margin: 60px 0;
}

.btn-body {
	display: inline-block;
	padding: 15px 40px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: white;
	text-decoration: none;
	border-radius: 50px;
	font-size: 1.1rem;
	font-weight: 500;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-body:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

/* CTA Link */
.cta-link {
	/*! display: block; */
	/*! align-items: center; */
	/*! color: #fff; */
	/*! font-weight: 600; */
	/*! font-size: 1rem; */
	/*! text-decoration: none; */
	/*! padding: 0.8rem 1.5rem; */
	/*! background: #003c88; */
	/*! border-radius: 37px; */
	/*! margin: 1rem 0; */
	/*! position: relative; */
	/*! overflow: hidden; */
	/*! transition: all 0.3s ease; */
	/*! box-shadow: 0 2px 10px rgba(0, 123, 204, 0.1); */
}

.cta-link::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	/*! background: linear-gradient(90deg, transparent, rgba(0, 123, 204, 0.1), transparent); */
	/*! transition: left 0.6s ease; */
}

.cta-link:hover::before {
	left: 100%;
}

.cta-link:hover {
	color: var(--text-white);
	background: linear-gradient(135deg, var(--accent-blue) 0%, var(--primary-color) 100%);
	border-color: var(--accent-blue);
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(0, 123, 204, 0.3);
}

.cta-link::after {
	content: '→';
	margin-left: 0.5rem;
	transition: transform 0.3s ease;
	font-size: 1.1rem;
}

.cta-link:hover::after {
	transform: translateX(4px);
}

/* CTA Section */
.cta-section {
	background: linear-gradient(135deg, #667eea 0%, #0b448d 100%);
	color: white;
	padding: 60px 40px;
	margin: 60px 0;
	border-radius: 20px;
	text-align: center;
	box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
}

.cta-section h2 {
	color: white !important;
	margin-top: 0;
	margin-bottom: 25px;
	font-size: 2em;
}

.cta-section p {
	text-align: center;
	font-size: 1.15em;
	margin-bottom: 35px;
	line-height: 1.8;
	color: white;
}

.cta-button {
	background: white;
	color: #667eea !important;
	padding: 15px 35px;
	border-radius: 30px;
	text-decoration: none;
	display: inline-block;
	font-weight: bold;
	transition: all 0.3s ease;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Blue Left Section */
.blueleft {
	color: var(--text-white);
	position: relative;
	margin-top: var(--spacing-lg);
	margin-bottom: 50px;
	text-align: center;
}

.blueleft h2 {
	color: var(--text-white);
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: var(--spacing-md);
	text-transform: uppercase;
	z-index: 1;
	position: relative;
}

.blueleft .rte {
	z-index: 1;
	position: relative;
}

.blueleft .rte a {
	color: var(--text-white);
	text-decoration: underline;
}

.blueleft .rte a:hover {
	color: #cce0ff;
}

.blueleft .button {
	background: var(--primary-color);
	color: var(--text-white);
	padding: 20px 40px;
	border-radius: 7px;
	border: 1px solid var(--primary-color);
	margin-top: 31px;
	cursor: pointer;
	font-size: 1.1em;
	font-weight: 400;
	margin-right: 17px;
}


.noline{border:0px !Important;}
.blueleft figure {
	margin: 0;
	z-index: 0;
}

.blueleft figure img {
	max-height: 243px;
	width: auto;
}

.blueleft img {
	transform: scale(0.9);
	transition: transform 1.5s ease-in-out;
	animation: zoomLoop 9s ease-in-out infinite;
	display: block;
}

.highlight-text {
	color: #667eea;
	font-weight: bold;
}

/* Info Box */
.info-box {
	/*! background-color: #f8f9fa; */
	/*! border-left: 4px solid #1761c6; */
	/*! padding: 20px; */
	/*! margin: 30px 0; */
	/*! border-radius: 5px; */
}

.info-box h2,
.info-box h3 {
	margin-top: 0;
	color: #1761c6;
}

.info-box ul {
	list-style: none;
	padding-left: 0;
}

.info-box li {
	padding: 5px 0;
	padding-left: 25px;
	position: relative;
}

.info-box li:before {
	content: "✔";
	position: absolute;
	left: 0;
	color: #667eea;
	font-weight: bold;
}

/* Institutsfinder & VacuMed */
#institutsfinder,
#vacumedarea {
	background-image: url("../images/Allgemein/institutsfinder.jpg");
	padding: 120px 0px;
	text-align: left;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--background-light);
}

#institutsfinder a h2 {color:#003c88 !important;}

#institutsfinder a{text-decoration:none}

#institutsfinder p,
#vacumedarea p {
	max-width: 419px;
	line-height: 30px;
}

#institutsfinder h2,
#vacumedarea h2 {
	color: var(--primary-color);
	font-size: 26px;
	text-transform: uppercase;
	margin-top: 0px;
}

#institutsfinder p a,
#vacumedarea p a {
	text-decoration: none;
	color: var(--text-color);
}

#vacumedarea {
	background-image: url("../images/Allgemein/vacumed_weyergans.jpg");
	padding: 61px;
}

/* YouTube Content */
.content-youtube {
	width: 100%;
	margin-bottom: 30px;
}

.content-youtube iframe {
	width: 100%;
	height: 420px;
}

/* Categories Grid */
.categories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 30px;
	margin-bottom: 50px;
	margin-top: 40px;
}

.category-card {
	background: #f4f4f4;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}

.category-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}

.category-image {
	width: 100%;
	height: 217px;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	font-size: 14px;
	padding-top: 24px;
}

.bodymed .category-image {
	min-height: 400px;
}

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

.category-content {
	padding: 25px;
	padding-top: 0px;
}

.category-title {
	font-size: 1.5rem;
	margin-bottom: 12px;
	color: #2c3e50;
	font-weight: 600;
}

.category-description {
	color: #666;
	line-height: 1.6;
	margin-bottom: 15px;
}

.category-link {
	display: inline-block;
	color: #0b448d !important;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease;
}

.category-link:hover {
	color: #764ba2;
}

.category-link::after {
	content: ' →';
}

/* Category Colors */
.cleansing {
	border-top: 4px solid #c0c0c0;
}

.green {
	border-top: 4px solid #52d3aa;
}

.pure {
	border-top: 4px solid #e6e6e6;
}

.timeless {
	border-top: 4px solid #525051;
}

.med {
	border-top: 4px solid #00b4d8;
}

.urban {
	border-top: 4px solid #8bc34a;
}

.bodymed {
	border-top: 4px solid #003c88;
}

/* Benefits Grid */
.benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	margin: 40px 0;
}

.benefit-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.benefit-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
}

.benefit-card h3 {
	color: #003c88;
	font-size: 1.3em;
	margin-top: 0;
	margin-bottom: 15px;
}

.benefit-card p {
	color: #666;
	line-height: 1.6;
	text-align: left;
}

.benefit-icon {
	font-size: 2.5em;
	margin-bottom: 15px;
	display: block;
}

/* Promise Section */
.promise-section {
	background: linear-gradient(135deg, #667eea 0%, #151673 100%);
	color: white !important;
	padding: 60px 40px;
	margin: 50px 0;
	border-radius: 10px;
	text-align: center;
}

.promise-section p {
	color: white !important;
}

.promise-section h2 {
	color: white !important;
	margin-top: 0;
	margin-bottom: 25px;
	font-size: 2em;
}

.promise-section p {
	font-size: 1.2em;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.8;
}

/* Stats Grid */
.stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	margin: 40px 0;
}

.stat-card {
	background: white;
	padding: 30px 20px;
	border-radius: 10px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.stat-number {
	font-size: 2.5em;
	font-weight: bold;
	color: #1761c6;
	display: block;
	margin-bottom: 10px;
}

.stat-label {
	color: #555;
	font-size: 1em;
}

/* Values Grid */
.values-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 30px;
	margin: 50px 0;
}

.value-card {
	background: white;
	padding: 35px 25px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	text-align: center;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.value-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
}

.value-icon {
	font-size: 3.5em;
	margin-bottom: 20px;
	display: block;
}

.value-card h3 {
	color: #667eea;
	font-size: 1.2em;
	margin: 0 0 10px 0;
}

.value-card p {
	color: #666;
	line-height: 1.6;
	text-align: center;
	font-size: 0.95em;
}

/* Quality Section */
.quality-section {
	background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
	padding: 50px 40px;
	margin: 50px 0;
	border-radius: 10px;
}

.quality-section h2 {
	color: #2c3e50;
	margin-top: 0;
	margin-bottom: 30px;
}

.certification-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	max-width: 600px;
	margin: 0 auto;
}

.cert-badge {
	background: white;
	padding: 25px;
	border-radius: 10px;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.cert-badge-icon {
	font-size: 3em;
	margin-bottom: 10px;
	display: block;
}

.cert-badge-text {
	font-weight: 600;
	color: #2c3e50;
	font-size: 1.1em;
}

/* Feature Cards */
.features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	margin: 40px 0;
}

.feature-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
}

.feature-card h3 {
	color: #1761c6;
	font-size: 1.3em;
	margin-top: 0;
	margin-bottom: 15px;
}

.feature-card p {
	color: #666;
	line-height: 1.6;
	text-align: left;
}

.feature-icon {
	font-size: 2.5em;
	margin-bottom: 15px;
	display: block;
}

/* Partnership Box */
.partnership-box {
	background: white;
	padding: 40px;
	margin: 40px 0;
	border-radius: 12px;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}

.partnership-box h2 {
	color: #667eea;
	text-align: center;
	margin-top: 0;
	margin-bottom: 25px;
}

.partnership-box p {
	font-size: 1.1em;
	color: #555;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.8;
}

/* Award Section */
.award-section {
	background: linear-gradient(135deg, #667eea 0%, #2325aa 100%);
	color: white;
	padding: 50px 40px;
	margin: 40px 0;
	border-radius: 10px;
	text-align: center;
}

.award-section h2 {
	color: white !important;
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 2em;
}

.award-section p {
	font-size: 1.15em;
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
	line-height: 1.8;
	color: white;
}

.award-icon {
	font-size: 4em;
	margin-bottom: 20px;
	display: block;
}

.badge {
	display: inline-block;
	background: rgba(255, 255, 255, 0.2);
	padding: 10px 20px;
	border-radius: 25px;
	margin-top: 15px;
	font-weight: 600;
}

/* Treatment Header */
.treatment-header {
	text-align: center;
	padding: 50px 30px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: white;
	margin: 50px -20px;
	border-radius: 15px;
}

.treatment-header h2 {
	color: white;
	margin: 0;
	font-size: 1.9em;
}

.treatment-header p {
	text-align: center;
	margin-top: 15px;
	font-size: 1.1em;
	opacity: 0.95;
}

/* Comparison Section */
.comparison-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #ffe8e8 100%);
	padding: 30px;
	margin: 40px 0;
	border-radius: 10px;
}

.comparison-section h2 {
	color: #c0392b;
	text-align: center;
}

.comparison-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-top: 30px;
}

/* Standard Tabellen */
#main table {
	width: 100% !important;
	/*! border-collapse: separate; */
	border-spacing: 0;
	margin: 30px 0;
	border-radius: 21px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	/*! border: 0px; */
	padding: -7px;
	border: 1px solid black;
	border: 0px;
}

#main table td,
#main table th {
	padding: 6px 5px;
	vertical-align: middle;
	text-align: center;
	border:0px
}

#main table th {
	font-weight: 600;
	background: linear-gradient(135deg, #003c88 0%, #1976d2 100%);
	color: white;
	text-align: left;
	padding: 15px;
}

#main table tr:first-child 	{font-weight: 600;
background:#e7e7e7;
	color: white;
	text-align: left;
	padding: 15px;}

#main table tr{
border-bottom:1px solid grey !important;
}


#main table tr:first-child th:first-child {
	border-top-left-radius: 10px;
}

#main table tr:first-child th:last-child {
	border-top-right-radius: 10px;
}

#main table tr:last-child td:first-child {
	border-bottom-left-radius: 10px;
}

#main table tr:last-child td:last-child {
	border-bottom-right-radius: 10px;
}

#main table tr:nth-child(even) {
	background-color: #f8f9fa;

}


#main table tr:last-child  {
	border-bottom: none !important;
}

#main table p {
	padding-bottom: 0px;
	margin-bottom: 0px;
}


.comparison-card {
	background: white;
	padding: 25px;
	border-radius: 10px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}

.comparison-card h3 {
	color: #e74c3c;
	margin-top: 0;
	padding-bottom: 15px;
	border-bottom: 2px solid #ffe8e8;
}

.noline{border:0px !important}
.comparison-card ul {
	padding-left: 25px;
	color: #555;
}

.comparison-card li {
	margin-bottom: 10px;
}

/* Product Section */
.product-section {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	margin: 40px 0;
}

.product-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card h3 {
	color: #2c3e50;
	font-size: 1.3rem;
	margin-bottom: 15px;
}

.product-card p {
	color: #666;
	line-height: 1.6;
	text-align: left;
	font-size: 18px;
	font-weight: 300;
}

/* Symptom Tags */
.symptom-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0;
}

.symptom-tag {
	background: #f0f4ff;
	color: #667eea;
	padding: 8px 15px;
	border-radius: 20px;
	font-size: 0.9em;
}

/* Stages Table */
.stages-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 30px 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}

.stages-table th {
	background: linear-gradient(135deg, #003c88 0%, #1976d2 100%);
	color: white;
	padding: 18px 20px;
	text-align: left;
	width: 30%;
	font-weight: 600;
}

.stages-table tr:first-child th:first-child {
	border-top-left-radius: 10px;
}

.stages-table tr:first-child th:last-child {
	border-top-right-radius: 10px;
}

.stages-table td {
	padding: 15px 20px;
	border-bottom: 1px solid #e8e8e8;
}

.stages-table tr:last-child td {
	border-bottom: none;
}

.stages-table tr:last-child td:first-child {
	border-bottom-left-radius: 10px;
}

.stages-table tr:last-child td:last-child {
	border-bottom-right-radius: 10px;
}

.stages-table tr:nth-child(even) {
	background-color: #f8f9fa;
}

.stages-table tbody tr:hover {
	background-color: #f0f4f8;
	transition: background-color 0.2s ease;
}

.form-confirmation {padding:20px;background: #c9c7c7;}

/* CTA Arrow */
.cta-arrow {
	color: #667eea;
	font-weight: bold;
	margin: 20px 0;
	display: block;
}

.cta-arrow a {
	color: #667eea;
	text-decoration: none;
}

.cta-arrow a:hover {
	text-decoration: underline;
}

/* Causes Section */
.causes-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #e8eaf6 100%);
	padding: 30px;
	margin: 30px 0;
	border-radius: 10px;
}

.causes-section ul {
	padding-left: 30px;
	margin: 20px 0;
}

.causes-section li {
	margin-bottom: 12px;
	color: #555;
	list-style-type: disc;
}

.causes-section h3 {
	color: #667eea;
}

.causes-section h4 {
	color: #764ba2;
	margin-bottom: 15px;
}

/* Quote Box */
.quote-box {
	/*! background: linear-gradient(135deg, #1765c8 0%, #182fa8 100%); */
	/*! color: white; */
	/*! padding: 30px; */
	/*! margin: 30px 0; */
	/*! border-radius: 10px; */
	/*! font-style: italic; */
	/*! font-size: 1.2em; */
	/*! text-align: center; */
	/*! box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); */
}

/* Comparison Table */
.comparison-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.comparison-table th {
	background: linear-gradient(135deg, #667eea 0%, #3c15c6 100%);
	color: white;
	padding: 15px;
	text-align: left;
}

.comparison-table td {
	padding: 12px 15px;
	border-bottom: 1px solid #e0e0e0;
}

.comparison-table tr:nth-child(even) {
	background-color: #f8f9fa;
}

/* Testimonials */
.testimonials {
	/*! background-color: #fafafa; */
	/*! padding: 30px; */
	/*! margin: 40px 0; */
	/*! border-radius: 10px; */
}

.testimonials h2 {
	text-align: center;
	color: #667eea;
}

.testimonial-item {
	background: white;
	padding: 20px;
	margin: 20px 0;
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
	position: relative;
}

.testimonial-item::before {
	content: '"';
	font-size: 60px;
	color: #667eea;
	position: absolute;
	top: -10px;
	left: 10px;
	opacity: 0.3;
}

.textleft{text-align:left}
.textcenter{text-align:center}

.testimonial-text {
	font-style: italic;
	margin-bottom: 10px;
	padding-left: 30px;
}

.testimonial-author {
	text-align: right;
	color: #666;
	font-weight: bold;
}

/* Comparison Box */
.comparison-box {
	display: flex;
	gap: 30px;
	margin: 30px 0;
	flex-wrap: wrap;
}

.comparison-item {
	flex: 1;
	min-width: 250px;
	background: white;
	padding: 25px;
	border-radius: 10px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	border-top: 3px solid #667eea;
}

.comparison-item h3 {
	color: #667eea;
	margin-top: 0;
}

/* Definition Section */
.definition-section {
	background: white;
	padding: 30px;
	margin: 30px 0;
	border-radius: 12px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.definition-section h2 {
	color: #667eea;
	margin-top: 0;
}

/* Symptoms Box */
.symptoms-box {
	background: linear-gradient(135deg, #fff9f0 0%, #ffe8d6 100%);
	padding: 30px;
	margin: 30px 0;
	border-radius: 10px;
	border-left: 4px solid #ff9800;
}

.symptoms-box h2 {
	color: #f57c00;
	margin-top: 0;
}

.symptoms-box h3 {
	color: #e65100;
}

.symptoms-list {
	background: white;
	padding: 20px;
	border-radius: 8px;
	margin: 20px 0;
}

.symptoms-list ul {
	padding-left: 30px;
}

.symptoms-list li {
	margin-bottom: 12px;
	color: #555;
}

/* Concept Header */
.concept-header {
	text-align: center;
	padding: 50px 20px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: white;
	margin: 50px -20px;
	position: relative;
	border-radius: 15px;
}

.concept-header h2 {
	color: white;
	margin: 0;
	font-size: 2em;
}

.concept-goals {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 30px 0;
	justify-content: center;
}

.goal-item {
	background: white;
	color: #667eea;
	padding: 10px 20px;
	border-radius: 25px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
	font-weight: 500;
}

/* Treatment Section */
.treatment-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #e8eaf6 100%);
	padding: 30px;
	margin: 40px 0;
	border-radius: 10px;
}

.treatment-section h2 {
	text-align: center;
	color: #667eea;
	margin-bottom: 30px;
}

.treatment-card {
	background: white;
	padding: 25px;
	margin: 20px 0;
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
	border-left: 4px solid #764ba2;
}

.treatment-card h3 {
	color: #764ba2;
	margin-top: 0;
}

.treatment-card .effects {
	background-color: #f0f4ff;
	padding: 15px;
	border-radius: 5px;
	margin-top: 15px;
}

.treatment-card .effects strong {
	color: #667eea;
}

/* Enhanced Lists */
.pillar-list {
	/*! background: linear-gradient(135deg, var(--background-lighter) 0%, #e9ecef 100%); */
	/*! border-radius: var(--border-radius); */
	/*! padding: 1.5rem; */
	/*! margin: 1rem 0; */
	/*! border-left: 4px solid #1765c8; */
}

.pillar-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pillar-list li {
	position: relative;
	padding: 0.5rem 0 0.5rem 2rem;
	margin-bottom: 0.5rem;
	list-style-type: none;
}

.pillar-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0.5rem;
	background: #1765c8;
	color: var(--text-white);
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.8rem;
	font-weight: bold;
}

.blue-zones {
	/*! background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); */
	/*! border-radius: var(--border-radius); */
	/*! padding: 1.5rem; */
	/*! margin: 1.5rem 0; */
	/*! border: 1px solid #90caf9; */
}

.blue-zones h2 {
	color: var(--accent-blue-light);
	border-left-color: var(--primary-color);
	margin-top: 0px;
}

/* ======================================
   7. GALLERY & MEDIA
   ====================================== */
.content-gallery {
	margin-bottom: 40px;
}

.content-gallery ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 20px;
}

.content-gallery li {
	margin: 0;
	padding: 0;
}

.content-gallery figure {
	margin: 0;
	padding: 0;
	width: 100%;
	transition: transform 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	overflow: hidden;
}

.content-gallery figure:hover {
	transform: scale(1.05);
}

.content-gallery img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.content-gallery--cols-3 ul {
	grid-template-columns: 1fr;
}

.image_container {
	overflow: hidden !important;
	display: inline-block;
	position: relative;
	max-width: 100%;
}

.image_container img {
	transition: transform 0.4s ease;
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	box-shadow: var(--shadow-image);
}

.image_container:hover img {
	transform: scale(1.1);
}

.animation img {
	animation: zoomInOut 6s ease-in-out infinite;
	transform-origin: center center;
}

/* ======================================
   7B. RSCE CONTENT TEMPLATES
   ====================================== */

/* Image-Text Layouts */
.content-image-text,
.content-text-image {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing-xl);
	align-items: center;
	margin: var(--spacing-xl) 0;
}

.content-image-text.ratio-image-larger {
	grid-template-columns: 1.5fr 1fr;
}

.content-text-image.ratio-text-larger {
	grid-template-columns: 1fr 1.5fr;
}

.content-image-text.ratio-equal,
.content-text-image.ratio-equal {
	grid-template-columns: 1fr 1fr;
}

/* Image Side Container - passt sich Bildgröße an */
.image-side {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.image-side img {
	display: block;
	max-width: 100%;
	height: auto;
	/*! box-shadow: var(--shadow-image); */
	transition: transform 0.4s ease;
}

.content-image-text:hover .image-side img,
.content-text-image:hover .image-side img {
	transform: scale(1.05);
}

/* Text Side */
.text-side {
	/*! padding: var(--spacing-md); */
}

/* Two Column Text Layout */
.content-two-columns {
	margin: var(--spacing-xl) 0;
}

.two-columns-wrapper {
	display: grid;
	gap: var(--spacing-xl);
	align-items: start;
	font-size: 1.1rem;
}

.content-two-columns.ratio-equal .two-columns-wrapper {
	grid-template-columns: 1fr 1fr;
}

.content-two-columns.ratio-left-larger .two-columns-wrapper {
	grid-template-columns: 2fr 1fr;
}

.content-two-columns.ratio-right-larger .two-columns-wrapper {
	grid-template-columns: 1fr 2fr;
}

.column-left,
.column-right {
	/*! padding: var(--spacing-md); */
}

/* Text-Video Layout */
.content-text-video {
	margin: var(--spacing-xl) 0;
}

.text-video-wrapper {
	display: grid;
	gap: var(--spacing-xl);
	align-items: center;
}

.content-text-video.ratio-equal .text-video-wrapper {
	grid-template-columns: 1fr 1fr;
}

.content-text-video.ratio-text-larger .text-video-wrapper {
	grid-template-columns: 2fr 1fr;
}

.content-text-video.ratio-video-larger .text-video-wrapper {
	grid-template-columns: 1fr 2fr;
}

/* Video Vorschau */
.video-preview {
	position: relative;
	border-radius: var(--border-radius);
	overflow: hidden;
	cursor: pointer;
}

.video-preview .preview-video {
	width: 100%;
	height: 100%;
	display: block;
}

.video-play-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.15);
	transition: background 0.3s ease;
}

.video-preview:hover .video-play-overlay {
	background: rgba(0, 0, 0, 0.3);
}


/* Video Lightbox */
.video-lightbox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 999999999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.video-lightbox.active {
	opacity: 1;
	visibility: visible;
}

.video-lightbox-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.9);
}

.video-lightbox-content {
	position: relative;
	width: 90%;
	max-width: 1100px;
	z-index: 1;
	transform: scale(0.9);
	transition: transform 0.3s ease;
}

.video-lightbox.active .video-lightbox-content {
	transform: scale(1);
}

.lightbox-video {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--border-radius);
}

.video-lightbox-close {
	position: absolute;
	top: -45px;
	right: 0;
	background: none;
	border: none;
	color: #fff;
	font-size: 36px;
	cursor: pointer;
	line-height: 1;
	padding: 5px 10px;
	transition: opacity 0.3s ease;
}

.video-lightbox-close:hover {
	opacity: 0.7;
}

/* ======================================
   8. CARDS & GRIDS
   ====================================== */
.card-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--spacing-lg);
	margin-bottom: 51px;
	margin-top: 75px;
}

.card {
	flex: 1 1 275px;
	min-width: 376px;
	background: var(--background-light);
	text-align: center;
	transition: opacity 0.4s ease-out;
	opacity: 1;
	max-width: 274px;
}

.card.fade-out {
	opacity: 0;
}

.card.hidden {
	display: none;
}

.card a {
	color: var(--text-color) !important;
	text-decoration: none;
}

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

.card h3 {
	margin-top: 12px;
	font-size: 1.2em;
	color: var(--text-color);
	padding: var(--spacing-sm);
}

.card p {
	color: var(--text-color);
	padding: var(--spacing-sm);
}

/* Right Button */
.right-button:first-child {
	margin: 50px 0px 0px 0px;
}

.right-button {
	position: relative;
	width: 100%;
	height: 179px;
	margin: 24px auto;
	overflow: hidden;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s ease;
	display: block;
}

.right-button::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: 1;
	transition: transform 0.3s ease;
}

.right-button.bgvacu::before {
	background-image: url('../../files/images/Allgemein/geraete_weyergans.jpg');
}

.right-button.bgkontakt::before {
	background-image: url('../../files/images/Allgemein/bgkontakt.jpg');
}

.right-button.bgshop::before {
	background-image: url('../../files/images/Allgemein/onlineshop.jpg');
}

.right-button.bginstitut::before {
	background-image: url('../../files/images/Allgemein/bginstitutsfinder.jpg');
}

.right-button::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(11, 24, 30, 0.68);
	z-index: 2;
	transition: background 0.3s ease;
}

.right-button a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	z-index: 3;
}

.right-button-text {
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	z-index: 4;
	transition: opacity 0.3s ease, transform 0.3s ease;
	text-align: center;
}

.right-button:hover::before {
	transform: scale(1.1);
}

.right-button:hover::after {
	background: rgba(0, 72, 149, 0.2);
}

.right-button:hover .right-button-text {
	opacity: 0;
	transform: translateY(-10px);
}

/* Jobs Section */
.jobs-section {
	margin: 50px 0;
}

.jobs-section h2 {
	margin-bottom: 40px;
}

.job-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 30px;
	margin: 40px 0;
}

.job-card {
	background: white;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}

.job-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

.job-card-image {
	width: 100%;
	/*! height: 498px; */
	/*! background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); */
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.job-card-image img {
	width: 100%;
	/*! height: 100%; */
	/*! object-fit: cover; */
}

.job-card-placeholder {
	font-size: 3em;
	color: #667eea;
	opacity: 0.3;
}

.job-card-content {
	padding: 20px;
	text-align: center;
}

.job-card-title {
	color: #2c3e50;
	font-size: 1.2em;
	font-weight: 600;
	margin: 0;
}


.job-card-badge {
	display: inline-block;
	background: #667eea;
	color: white;
	padding: 5px 15px;
	border-radius: 20px;
	font-size: 0.85em;
	margin-top: 10px;
}

/* Filter Buttons */
#filter-buttons {
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	background-color: var(--background-lighter);
	padding: 25px var(--spacing-md);
	margin-top: var(--spacing-xxl);
	margin-bottom: var(--spacing-xxl);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--spacing-sm);
}

#filter-buttons button {
	background-color: var(--text-white);
	border: 1px solid #cccccc;
	padding: var(--spacing-sm) var(--spacing-lg);
	border-radius: 20px;
	cursor: pointer;
	transition: all 0.2s ease;
}

#filter-buttons button:hover {
	background-color: #e0e0e0;
	border-color: #aaaaaa;
}

/* ======================================
   9. ACCORDION
   ====================================== */
.ce_accordionSingle.handorgel {
	margin: 1rem 0;
	/*! border-bottom: 1px solid var(--border-color); */
	overflow: hidden;
	transition: var(--transition);
	max-width: 800px;
	margin: 0px auto;
	border-bottom: 1px solid #80808052;
}

.ce_accordionSingle .toggler {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	position: relative;
	overflow: hidden;
}

.ce_accordionSingle .toggler button {
	background: #fff0;
	padding: 1.3rem 1.5rem;
	cursor: pointer;
	border: none;
	width: 100%;
	text-align: left;
	font-size: 1.3rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: var(--transition);
	position: relative;
	z-index: 2;
	/*! border-bottom: 1px solid #80808052; */
	font-weight: 300;
}

.ce_accordionSingle .toggler::before {
	background: #fff0;
	padding: 1rem 1.5rem;
	cursor: pointer;
	border: none;
	width: 100%;
	text-align: left;
	font-size: 1.2rem !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: var(--transition);
	position: relative;
	z-index: 2;
}


.accordion_inside {}

.ce_accordion .toggler{/*! max-width:600px; *//*! margin:0px auto */}

.ce_accordion .accordion {/*! max-width:600px; */margin:0px auto}

.ce_accordionSingle .toggler:hover::before {
	left: 100%;
}

.ce_accordionSingle .toggler button:focus {
	outline: 3px solid var(--accent-color);
	outline-offset: 2px;
}

.ce_accordionSingle .toggler button::after {
	content: '+';
	font-size: 1.5rem;
	transition: transform 0.3s ease;
	margin-left: auto;
	flex-shrink: 0;
}

.ce_accordionSingle .toggler button[aria-expanded="true"]::after {
	content: '+';
	font-size: 1.8rem !important;
	transition: transform 0.3s ease;
	margin-left: auto;
	flex-shrink: 0;
}

.ce_accordionSingle .accordion {
	overflow: hidden;
	transition: height 0.3s ease;
	/*! background: var(--card-bg); */
}

.ce_accordionSingle .accordion>div {
	padding: 1.5rem;
	padding-top: 0px;
}

.ce_accordionSingle .accordion p {
	margin: 0;
	color: var(--text-light);
	line-height: 1.6;
}

.ce_accordionSingle .accordion .MsoNormal {
	margin: 0 !important;
	line-height: 1.6 !important;
}

.ce_accordionSingle .accordion [style*="mso-"] {
	font-family: inherit !important;
	color: #000 !important;
}

.ce_accordionSingle .toggler button[aria-expanded="true"] {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.ce_accordionSingle .accordion[style*="height: 0px"] {
	height: 0 !important;
}

.ce_accordionSingle .accordion:not([style*="height: 0px"]) {
	height: auto;
	min-height: 60px;
}

/* ======================================
   10. FOOTER
   ====================================== */
footer {
	background: #ececec;
}

.footer-main {
	padding: 10px 0px 0px;
}

.footer-bottom-left p {
	color: white !Important;
}

.footer-bottom-right a {
	color: white !Important;
}

.footer-column img {
	max-width: 250px;
	padding-bottom: 20px;
}

.footer-main .inside {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 40px;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 32px 20px;
}

.footer-column h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
	color: #003c88;
}

.footer-column p {
	line-height: 1.6;
	margin-bottom: 20px;
	opacity: 0.9;
}

.footer-column ul {
	list-style: none;
	padding: 0;
	margin: 0;
	color: black;
}

.footer-column ul li {
	margin-bottom: 12px;
}

.footer-column ul li a {
	color: #003c88;
	text-decoration: none;
	opacity: 0.85;
	transition: opacity 0.3s ease;
	display: inline-block;
}

.footer-column ul li a:hover {
	opacity: 1;
	text-decoration: underline;
}

.footer-social {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}

.footer-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	color: #003c88;
	transition: all 0.3s ease;
	text-decoration: none;
}

.footer-social a:hover {
	background: rgba(255, 255, 255, 0.2);
	transform: translateY(-3px);
}

.footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	opacity: 0.9;
}

.footer-contact i {
	margin-top: 3px;
	color: #003c88;
}

.footer-bottom {
	background: rgb(53, 53, 53);
	padding: 16px 0;
	display: block;
}

.footer-bottom .inside {
	justify-content: space-between;
	align-items: center;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 20px;
	flex-wrap: wrap;
	gap: 20px;
	color: white !important;
	text-align: center;
	font-size: 14px;
}

.footer-bottom .inside p {
	color: white !important;
	text-align: center;
	margin-bottom: 8px;
}

.footer-bottom .inside a {
	color: white !important;
}

.footer-bottom-right ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 25px;
}

.footer-bottom-right ul li a {
	color: black;
	text-decoration: none;
	opacity: 0.85;
	transition: opacity 0.3s ease;
}

.footer-bottom-right ul li a:hover {
	opacity: 1;
	text-decoration: underline;
}

/* ======================================
   11. BLOG SYSTEM
   ====================================== */
#news {
	background: var(--primary-color);
}

#news h2 {
	color: var(--text-white) !important;
	text-align: center;
}

.layout_full  p.info {display:none !important}

.layout_full h1{padding:30px 0px}

.mod_newslist {
	padding-bottom: 40px;
	padding-top: 30px;
}

.newsarchiv h2:first-child{display:none}

.blogsystem {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-xl);
	max-width: var(--max-width-large);
	margin: 0 auto;
	padding: 40px 0px 91px 0px;
}

.layout_latest.block {
	display: flex;
	flex-direction: column;
	background: var(--card-bg);
	border-radius: var(--border-radius);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.layout_latest h2{text-align:left !important;font-weight:500 !important;}

.layout_latest.block:hover {
	transform: translateY(-5px);
	box-shadow: var(--shadow-card-hover);
}

.layout_latest .info {
	order: 1;
	padding: var(--spacing-md) var(--spacing-lg) var(--spacing-sm);
	margin: 0;
	font-size: 14px;
	color: var(--text-light);
	background: var(--background-lighter);
	display: none;
}

.layout_latest .image_container.float_above {
	order: 2;
	width: 100%;
	height: 200px;
	overflow: hidden;
	margin: 0;
	float: none;
}

.layout_latest .image_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.layout_latest:hover .image_container img {
	transform: scale(1.05);
}

.layout_latest h2 {
	order: 3;
	margin: var(--spacing-md) var(--spacing-lg) var(--spacing-sm) !important;
	font-size: 18px !important;
	line-height: 1.3;
}

.layout_latest h2 a {
	color: var(--text-color);
	text-decoration: none;
	transition: color 0.3s ease;
	/*! text-align: left !important; */
}

.layout_latest h2 a:hover {
	color: var(--accent-blue);
}

.layout_latest .ce_text.block {
	order: 4;
	flex-grow: 1;
	margin: 0;
	padding: 0 var(--spacing-lg);
	color: #555;
	font-size: 14px;
	line-height: 1.5;
}

.layout_latest .ce_text p {
	margin: 0 0 var(--spacing-sm) 0;
	text-align: justify;
}

.layout_latest .more {
	order: 5;
	padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
	margin: 0;
	margin-top: auto;
}

.layout_latest .more a {
	color: #003c88;
	text-decoration: none;
	font-weight: 500;
	font-size: 14px;
	transition: color 0.3s ease;
}

.layout_latest .more a:hover {
	color: var(--accent-blue-dark);
}

.layout_latest .more .invisible {
	display: none;
}

/* Social Feed */
.social_feed_container .title {
	display: none;
}

.social_feed_element {
	line-height: 18px;
}

.social_feed_element time {
	margin-top: var(--spacing-sm);
	display: block;
	color: grey;
}

.social_feed_element .inner>figure {
	padding: 0;
}

.social_feed_element .icon img {
	z-index: 9999;
}







/* Overlay Container */
.b2b-access-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.85);
    z-index: 999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.b2b-access-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Dialog Box */
.b2b-access-dialog {
    background: var(--text-white);
    border-radius: var(--border-radius);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-width: 600px;
    width: 90%;
    padding: var(--spacing-xxl);
    text-align: center;
    transform: scale(0.9);
    transition: transform 0.3s ease;
    position: relative;
}

.b2b-access-overlay.active .b2b-access-dialog {
    transform: scale(1);
}

/* Icon */
.b2b-dialog-icon {
    font-size: 64px;
    color: var(--primary-color);
    margin-bottom: var(--spacing-lg);
    line-height: 1;
}

/* Title */
.b2b-dialog-title {
    font-size: 28px;
    font-weight: 600;
    color: var(--text-color);
    margin: 0 0 var(--spacing-md) 0;
    font-family: 'Roboto', sans-serif;
}

/* Text */
.b2b-dialog-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-light);
    margin: 0 0 var(--spacing-xl) 0;
}

/* Buttons Container */
.b2b-dialog-buttons {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

/* Buttons Base */
.b2b-btn-confirm,
.b2b-btn-decline {
    display: inline-block;
    padding: 14px 35px;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 0;
    transition: var(--transition);
    border: 2px solid;
    cursor: pointer;
    width: 100%;
    font-family: 'Instrument Sans', 'Roboto', sans-serif;
}

/* Confirm Button */
.b2b-btn-confirm {
    background: var(--primary-color);
    color: var(--text-white);
    border-color: var(--primary-color);
}

.b2b-btn-confirm:hover,
.b2b-btn-confirm:focus {
    background: #002a66;
    border-color: #002a66;
    outline: 2px solid var(--accent-blue-light);
    outline-offset: 2px;
}

/* Decline Button */
.b2b-btn-decline {
    background: transparent;
    color: var(--text-color);
    border-color: var(--border-color);
}

.b2b-btn-decline:hover,
.b2b-btn-decline:focus {
    background: var(--background-lighter);
    border-color: var(--text-light);
    outline: 2px solid var(--text-light);
    outline-offset: 2px;
}

/* Content Protection (optional) */
body.b2b-gate-locked #main {
    filter: blur(10px);
    pointer-events: none;
    user-select: none;
}

body.b2b-access-granted #main {
    filter: none;
    pointer-events: auto;
    user-select: auto;
}

/* ======================================
   12. SPECIAL COMPONENTS
   ====================================== */

/* Blog Button */
.blog_button {
	background: var(--accent-blue) !important;
	color: var(--text-white) !important;
	padding: 12px var(--spacing-lg) !important;
	border-radius: 4px !important;
	display: inline-block !important;
	margin: var(--spacing-sm) var(--spacing-lg) !important;
	text-align: center !important;
	font-weight: 500 !important;
}

/* ======================================
   13. ANIMATIONS
   ====================================== */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes zoomInOut {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.03);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes zoomLoop {
	0% {
		transform: scale(0.9);
	}

	50% {
		transform: scale(1);
	}

	100% {
		transform: scale(0.9);
	}
}

@keyframes subtleZoom {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.03);
	}
}

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateX(20px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes gradientFlow {
	0% {
		background-position: 0% 0%;
	}

	50% {
		background-position: 100% 0%;
	}

	100% {
		background-position: 0% 0%;
	}
}

/* ======================================
   14. RESPONSIVE MEDIA QUERIES
   ====================================== */

/* Tablet: 768px - 1024px */


@media (min-width: 1024px) {
	.content-gallery--cols-3 ul {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Tablet and Mobile */
@media (max-width: 1300px) {
	#main .mod_article {
		padding: 0px 0px 0px 0px;
	}
	

#main .inside .content-text {

	max-width: 80%;

}

	
	#institutsfinder{padding-top:80px;padding-bottom:300px;background-position:-640px 70px}
	
	.inside_mob {padding:0px 20px}
	
	#hero-image {
	position: absolute;
	top: 50%;
	/*! left: 50%; */
	min-width: 100vw;
	min-height: 100%;
	transform: translate(-60%, -50%);
	z-index: -1;
	background: white;
	overflow: visible;
}

	
	#mainnav .icons_header{margin-top:0px;}

	#container {
		padding-right: 0px;
	}

	#right {
		display: none;
	}

	.hero-overlay h1 {
		margin-top: 0px;
	}

	.left-slide {
		margin-top: 0px !important;
	}

	.blogsystem {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--spacing-lg);
	}

	body {
		padding-top: 70px;
	}

	h1 {
		font-size: 2rem;
	}

	h2 {
		font-size: 1.5rem;
	}

	.container {
		padding: 1rem 0.5rem;
	}

	#hero-image-wrapper .content-text {
		padding: 1.5rem;
	}

	.accordion-header {
		padding: 0.75rem 1rem;
		font-size: 1rem;
	}

	.highlight-section {
		padding: 1.5rem;
		margin: 1.5rem 0;
	}

	.highlight-section h2 {
		font-size: 1.4rem;
	}

	.intro-text {
		font-size: 1rem;
		padding: var(--spacing-md);
	}

	.cta-link {
		font-size: 0.95rem;
		padding: 0.7rem 1.2rem;
	}

	/* Mobile Navigation */
	#mainnav {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 6px 0px;
		z-index: 100000;
		max-width: 100%;
		margin: 0 auto;
		background: #003c88;
		border-bottom: 1px solid transparent;
		transition: background-color 0.4s ease,
			backdrop-filter 0.4s ease,
			border-color 0.1s ease;
		width: 100%;
	}

	.logo img {
		height: 35px;
	}

	.mod_navigation {
		display: none;
	}

	.icons_header {
		display: none;
	}

	.mobile-menu-toggle {
		background: none;
		border: none;
		color: var(--text-white);
		font-size: 16px;
		cursor: pointer;
		padding: 9px;
		display: flex;
		/*! align-items: center; */
		gap: 8px;
	}

	.hamburger {
		width: 24px;
		height: 18px;
		position: relative;
	}

	.hamburger span {
		display: block;
		height: 2px;
		background: var(--text-white);
		margin: 4px 0;
		transition: 0.3s;
	}

	.mobile-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: var(--text-white);
		z-index: 99999999999999;
		transform: translateX(-100%);
		transition: transform 0.3s ease-in-out;
		overflow-y: auto;
		display: block;
	}

	.mobile-overlay.active {
		transform: translateX(0);
	}

	.mobile-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--spacing-md) var(--spacing-lg);
		background: var(--background-lighter);
		border-bottom: 1px solid #e1e5e9;
		position: sticky;
		top: 0;
		z-index: 10;
	}

	.mobile-close {
		background: none;
		border: none;
		font-size: 24px;
		cursor: pointer;
		color: var(--text-light);
	}

	.mobile-title {
		font-size: 18px;
		font-weight: 600;
		color: var(--text-color);
	}

	.mobile-breadcrumb {
		padding: var(--spacing-md) var(--spacing-lg);
		background: var(--background-lighter);
		border-bottom: 1px solid #e1e5e9;
		display: none;
	}

	.mobile-breadcrumb.active {
		display: block;
	}

	.breadcrumb-back {
		background: none;
		border: none;
		color: var(--accent-blue);
		font-size: 16px;
		cursor: pointer;
		display: flex;
		align-items: center;
		gap: 8px;
		padding: var(--spacing-xs) 0;
	}

	.breadcrumb-back:hover {
		text-decoration: underline;
	}

	.mobile-menu-content {
		padding: var(--spacing-lg) 0;
	}

	.mobile-menu-level {
		display: none;
	}

	.mobile-menu-level.active {
		display: block;
		animation: slideIn 0.3s ease-out;
	}

	.mobile-main-item {
		padding: 18px var(--spacing-lg);
		border-bottom: 1px solid #e1e5e9;
		display: flex;
		align-items: center;
		justify-content: space-between;
		cursor: pointer;
		transition: background-color 0.2s;
	}

	.mobile-main-item:hover {
		background-color: var(--background-lighter);
	}

	.mobile-main-item span {
		font-size: 16px;
		color: var(--text-color);
		font-weight: 500;
	}

	.mobile-main-item i {
		color: var(--text-light);
		font-size: 14px;
	}

	.mobile-submenu-header {
		padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
		border-bottom: 1px solid #e1e5e9;
	}

	.mobile-submenu-title {
		font-size: 20px;
		font-weight: 600;
		color: var(--text-color);
		margin-bottom: var(--spacing-sm);
	}

	.mobile-category {
		margin-bottom: var(--spacing-xl);
	}

	.mobile-category h3 {
		font-size: 16px;
		font-weight: 600;
		color: var(--text-color);
		margin-bottom: var(--spacing-md);
		padding: 0 var(--spacing-lg);
	}

	.mobile-category ul {
		list-style: none;
	}

	.mobile-category li {
		border-bottom: 1px solid var(--border-lighter);
	}

	.mobile-category li:last-child {
		border-bottom: none;
	}

	.mobile-category a {
		display: block;
		padding: var(--spacing-md) var(--spacing-lg);
		color: var(--text-color);
		text-decoration: none;
		font-size: 15px;
		transition: background-color 0.2s;
	}

	.mobile-category a:hover {
		background-color: var(--background-lighter);
		color: var(--accent-blue);
	}
}

/* Mobile */
@media (max-width: 768px) {
	
	

	.content-gallery--cols-3 ul {
		grid-template-columns: repeat(2, 1fr);
	}

	
.b2bevents #hero-image-wrapper .content-text{display:none;}
.b2bevents #hero-image-wrapper .content-image{display:none;}
.b2bevents #hero-image-wrapper {min-height:auto !important;}
	
	
	.content-image-text,
	.content-text-image {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg);
	}
	
	#hero-image.mobile {

	left: 0%;
	
}

	
	#main .inside .content-text {

	max-width: 100%;

}
	
	.content-image-text.ratio-image-larger,
	.content-text-image.ratio-text-larger,
	.content-image-text.ratio-equal,
	.content-text-image.ratio-equal {
		grid-template-columns: 1fr;
	}

	.content-two-columns .two-columns-wrapper {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-lg);
	}

	.content-text-video .text-video-wrapper {
		grid-template-columns: 1fr !important;
		gap: var(--spacing-lg);
	}

	.play-button {
		width: 55px;
		height: 55px;
	}

	.play-button i {
		font-size: 20px;
	}

	.video-lightbox-content {
		width: 95%;
	}

	.video-lightbox-close {
		top: -40px;
		font-size: 30px;
	}

    .b2b-access-dialog {
        width: 95%;
        padding: var(--spacing-xl);
        max-width: none;
    }
    
    .b2b-dialog-icon {
        font-size: 48px;
        margin-bottom: var(--spacing-md);
    }
    
    .b2b-dialog-title {
        font-size: 22px;
    }
    
    .b2b-dialog-text {
        font-size: 15px;
    }
    
    .b2b-btn-confirm,
    .b2b-btn-decline {
        padding: 12px 24px;
        font-size: 0.95rem;
    }

	.categories-grid {
		grid-template-columns: 1fr;
	}

	.page-header h1 {
		font-size: 2rem;
	}

	h1 {
		font-size: 2em;
	}

	h2 {
		font-size: 1.5em;
	}

	.hero-section {
		padding: 60px 20px;
	}

	.hero-section::before {
		font-size: 8em;
	}

	.values-grid,
	.stats-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.quality-section,
	.promise-section {
		padding: 40px 20px;
	}

	.footer-main .inside {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.footer-bottom .inside {
		flex-direction: column;
		text-align: center;
	}

	.footer-bottom-right ul {
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
	}

	.features-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.intro-section,
	.highlight-section,
	.award-section {
		padding: 40px 20px;
	}

	.partnership-box {
		padding: 30px 20px;
	}

	.job-grid {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
		gap: 20px;
	}

	.job-card-image {
		height: 350px;
	}
}

/* Small Mobile */

@media (max-width: 576px) {

	
	

	#wrapper h1 {font-size:30px;line-height:40px !Important}
#hero-video-wrapper .inside .hero-overlay .inside{width:88% !important;}
#hero-image-wrapper .inside .hero-overlay .inside{width:88% !important}
#main .inside {width: 88% !important;}
	
.inside { width: 88% !important;/*! margin: 0px; */}
	
	
	.blogsystem {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}

	.hero-overlay {
		position: relative;
		top: 112px;
		overflow: visible;
	}

	.left-slide {
		width: 95% !important;
		max-width: unset;
		padding: 0px;
		min-height: 500px;
	}

	.layout_latest .image_container.float_above {
		height: 180px;
	}
}


@media (max-width: 510px) {

	.icons_header {display:none !important}

    .b2b-access-dialog {
        padding: var(--spacing-lg);
    }
    
    .b2b-dialog-icon {
        font-size: 40px;
    }
    
    .b2b-dialog-title {
        font-size: 20px;
    }
    
    .b2b-dialog-text {
        font-size: 14px;
    }
}


