/*
Theme Name: Avada Child ECS
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.2.0
Text Domain:  Avada
RL251130
*/

/*
Table of Contents
 Level 1 = headings with 3 asterisks
 Level 2 = headings with 2 asterisks

 Variables
 Typography and Elements
 Header
 DEV SubMenu
 Main Content
   Page: Kontakt
 Teaser / Sidebar
   Pages
 Footer
 Media Queries
*/

/*
Colors
Grau: #666
Blau dunkel: #2c6ba1
Grün: 75c044
*/

/* Avada FOUC fixes */
.fusion-page-title-captions-text h1,
.fusion-page-title-captions-text h3 {
	opacity: 1 !important;
	transition: none !important;
	animation: none !important;
}



/*** Variables ***/
/* Avada */
/*
var(--h1_typography-color) etc.
 */
/* Overriding Avada settings */
:root body {
	--awb-font-size: 1.13rem;
	--body_typography-font-size: var(--awb-font-size);
	--awb-text-font-weight: 380;
	--awb-inner-bg-color: #ffffff85 !important;
	--max-line-width: 47rem;
	--h1_typography-font-weight: 420;
	--h1_typography-font-size: clamp(2rem, 1.403rem + 2.985vw, 3.5rem);
	--h2_typography-font-size: clamp(2rem, 1.714rem + 1.429vw, 3rem);
	--nav_typography-font-size: 1.25rem;
	--header_sticky_nav_font_size: 1.25rem;
	--nav_typography-font-weight: var(--awb-text-font-weight);
	--nav_typography-color: var(--body_typography-color);
	--ecs-blue: #2c6ba1;
	--ecs-blue-light: #77a9ca;
	--ecs-green: #75c044;
	--bg-title: rgb(255 255 255 / 75%);
	--logo_margin-top: 31px;
	--logo_margin-bottom: 31px;
	--logo_margin-left: 0px;
	--logo_margin-right: 0px;
	--transition-time: 0.3s;
	--page-padding: 2rem;
	--radius: 6px;
	.fusion-main-menu {
		--nav_height: 5rem;
		--mobile_nav_padding: 1.5rem;
		--menu_thumbnail_size-width: 1.5rem;
		--menu_thumbnail_size-height: 1rem;
		margin: var(--logo_margin-top) var(--logo_margin-right) var(--logo_margin-bottom) var(--logo_margin-left);
	}
}
.fusion-column-inner-bg-image { --awb-inner-bg-color: #ffffff6b !important; }

/* FadeIn for container */
/*#boxed-wrapper*/
/*.avada-page-titlebar-wrapper,
main {
	opacity: 0;
	animation: fadeIn 0.3s ease-in 0s forwards;
}*/
@keyframes fadeIn {
	0% { opacity: 0; }
	30% { opacity: 0; }
	100% { opacity: 1; }
}

body {
	font-synthesis: none;
	-webkit-tap-highlight-color: var(--ecs-blue-light);
}
::selection {
	background: var(--ecs-blue-light);
	color: white;
}
:target, .target { scroll-margin: 5rem 0 0 0; }

/*** Typography and Elements ***/
/* Regular weight */
/*@font-face {
	font-family: 'SourceSans3';
	!*src: url('SourceSans3-VariableFont_wght.ttf') format('truetype-variations');*!
	!*https://www.ergopraxis-eckert.ch/wp-content/uploads/sites/26/NotoSans-VariableFont_wdthwght.woff2
	https://www.ergopraxis-eckert.ch/wp-content/uploads/sites/26/NotoSans-VariableFont_wdthwght.woff
	https://www.ergopraxis-eckert.ch/wp-content/uploads/sites/26/NotoSans-VariableFont_wdthwght.ttf*!
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}*/
@font-face {
	font-family: 'quotes';
	src: url('quotes.woff2') format('woff2');
	font-weight: 900;
}
.fa, .fas { font-family: "Font Awesome 5 Free" !important; }

/** + .fusion-fullwidth { margin: 2em 0 0 !important; }*/
/** {
	font-family: 'SourceSans3', Arial, Helvetica, sans-serif !important;
	font-weight: 430;
}*/
h1, h2, h3, h4, h5, h6 { margin: 0; }
h1, * + h2, * + h3, * + h4, * + h5, * + h6 { margin: 1em 0 0.5em !important; }
h1, .h1, .h1 p,
h2, .h2, .h2 p,
h3, .h3, .h3 p,
h4, .h4, .h4 p,
p, li {
	font-weight: 430 !important;
	hyphens: auto;
	hyphenate-limit-chars: 9 3 4;
	text-wrap-style: pretty;
}
.fusion-page-title-bar * { hyphens: none; }
h1.entry-title span { font-weight: 600 !important; }
.fusion-body .fusion-page-title-captions { width: auto !important; }
p, li { max-width: var(--max-line-width); }
.home {
	h1, .h1, .h1 p,
	h2, .h2, .h2 p,
	h3, .h3, .h3 p,
	h4, .h4, .h4 p,
	ul {
		text-align: center;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
ul#menu-footer-menu { margin-left: 0.2em !important; }
h4.widget-title { text-align: left !important; }
ul:not(#mobile-menu-hauptmenue):not(.sub-menu):not(.menu) {
	width: fit-content;
	padding-inline-start: 2.5rem;
}
p, li {
	font-weight: var(--awb-text-font-weight) !important;
	text-align: left;
}
nav li { max-width: 100%; }
blockquote p { hyphenate-limit-chars: 6 2 2; }
.post-content p {
	margin-top: 0;
	margin-bottom: 1.1em;
}
.post-content li { margin-bottom: 0.3em; }
.top > h1, .top > h2,
h1.top, h2.top { margin-top: 0 !important; }
.info { padding: 2em !important; }
.info-text .fusion-text { width: 100% !important; }
.info h1, .info h2, .info h3, .info p {
	margin: 0 auto !important;
	max-width: min(90%, 52rem) !important;
	text-align: center !important;
}
.info p { font-size: 1.3rem; }
.info p + p { margin-top: 1em !important; }
.fusion-text > ul { margin-top: 0; }
.fusion-button, .fusion-flex-container, iframe, .awb-imageframe-caption-container,
.fusion-column-wrapper { border-radius: var(--radius) !important; }
#kacheln .fusion-column-wrapper { border-radius: 0 0 var(--radius) var(--radius) !important; }
img { /* reset */
	max-width: 100%;
	max-height: 100%;
	/*width: auto; Kontakt logo zu gross */
	height: 100%;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: var(--radius);
}
.fusion-logo img { border-radius: 0; }
#kacheln img {
	border-radius: var(--radius) var(--radius) 0 0;
	object-fit: cover;
}
.fusion-content-boxes.content-boxes-icon-on-top .content-box-column { margin-bottom: 0 !important; }
.bg-dark {
	h1, h2, h3, .h1, .h2, .h3, p, li, a { color: #ffffff !important; }
}
.banner {
	.fusion-layout-column { margin: 0; }
	/*.h1, .h2, .h3 { margin: 2em 0; } infoboxen home*/
	&.dark-bg {
		.h1, .h2, .h3 { color: var(--awb-custom12) !important; }
		/* Hellblau */ }
}

a { font-weight: 400; }
bold, strong { font-weight: 500 !important; }
.center, .center *,
.fusion-content-boxes .content-container * {
	text-align: center;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ml-0, .ml-0 * { margin-left: 0 !important; }

#main, .fusion-footer-copyright-area, .fusion-footer-widget-area,
.fusion-sliding-bar-position-bottom .fusion-sliding-bar,
.fusion-sliding-bar-position-top .fusion-sliding-bar,
.tfs-slider .slide-content-container {
	padding-left: var(--page-padding) !important;
	padding-right: var(--page-padding) !important;
}
.fusion-copyright-notice { text-align: center; }
#main .fusion-title-size-three, #main h3 {
	margin-top: 0; /* war 1.5em */
	margin-bottom: 0.5em;
}
img.logo {margin-top: -20px; }
.caption a[href^="http://"], .caption a[href^="https://"] {
	background: url(https://entwicklung.site/swh/wp-content/uploads/external-link-rl-caption-w.png) center right no-repeat;
	padding-right: 18px;
	background-position-y: 12px;
}
.search #main, .error404 #main { padding-top: 55px; }
.audio .mejs-container, .audio .mejs-container .mejs-controls, .audio .mejs-embed, .mejs-embed body { background: #336095; }
.audio .label { margin: 0.5em 0 0.25em; }
.max-width-180 { max-width: 180px !important; }
.iframe-center iframe { left: 23px; position: relative; }

/*** Header ***/
.fusion-logo {
	height: 5rem;
	max-width: 76% !important;
	a, img {
		height: 100% !important;
		max-height: 100% !important;
	}
}
/* fails because of Avada JS for sticky header
.fusion-sticky-header-wrapper {
	display: flex;
	justify-content: space-between;
}
.fusion-secondary-main-menu {
	min-width: 56rem;
	align-self: end;
	justify-self: end;
}
*/
.fusion-mobile-menu-icons a:hover:after, .fusion-mobile-menu-icons a:hover:before,
.fusion-mobile-menu-icons a[aria-expanded="true"]:after, .fusion-mobile-menu-icons a[aria-expanded="true"]:before {
	color: var(--ecs-green) !important;
}
.fusion-row .fusion-mobile-menu-icons {
	right: 0.5rem;
	vertical-align: center;
	margin-top: 0;
	width: fit-content;
	float: right;
	top: 1.5rem;
}
.fusion-header .fusion-mobile-menu-icons a {
	font-size: 32px;
	float: none;
}
.fusion-is-sticky .fusion-sticky-header-wrapper { box-shadow: 0 0 6px #666; }
.fusion-main-menu > ul > li > a, .side-nav li a {
	color: var(--nav_typography-color) !important;
	font-family: var(--nav_typography-font-family);
	font-size: var(--nav_typography-font-size);
	letter-spacing: var(--nav_typography-letter-spacing);
	text-transform: var(--nav_typography-text-transform);
	font-style: var(--nav_typography-font-style, normal);
	transition: color var(--transition-time);
}
.fusion-main-menu > ul > li > a:hover, .side-nav li a:hover,
.fusion-body .fusion-main-menu .current-menu-ancestor > a,
.fusion-body .fusion-main-menu .current-menu-item > a,
.fusion-body .fusion-main-menu .current-menu-parent > a,
.fusion-body .fusion-main-menu .current_page_item > a { color: var(--ecs-green) !important; }
ul#mobile-menu-hauptmenue { border: none; }

/* RL230126 scrolling sticky menu */
.fusion-is-sticky .fusion-mobile-menu-design-modern .fusion-mobile-nav-holder > ul,
.fusion-is-sticky.fusion-mobile-menu-design-modern .fusion-mobile-nav-holder > ul { max-height: none !important; }
.fusion-is-sticky .fusion-secondary-main-menu { max-height: calc(100vh - 120px); }
.fusion-secondary-main-menu {
	border-bottom: 1px solid transparent;
	padding-left: 30px;
	padding-right: 30px;
	backface-visibility: hidden;
}
.fusion-header-v4 .fusion-main-menu, .fusion-header-v5 .fusion-main-menu { overflow: visible; }
.avada-has-megamenu-shadow .fusion-main-menu .sub-menu {
	padding: 0.7rem 0;
	border-radius: var(--radius);
}
.fusion-main-menu > ul > li > a:not(.fusion-logo-link):hover,
.fusion-main-menu > ul > li.current-menu-item > a:not(.fusion-logo-link):hover,
.fusion-main-menu > ul > li.current-menu-item > a:not(.fusion-logo-link) {
	margin-top: 1px;
	margin-bottom: -1px;
}
.fusion-main-menu > ul > li:first-child.current-menu-item > a,
.fusion-main-menu > ul > li:first-child > a:hover,
.fusion-main-menu > ul > li#menu-item-238 > a { /* Kontakt */
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.fusion-caret .fusion-dropdown-indicator { position: relative; }
a:hover .fusion-caret .fusion-dropdown-indicator { bottom: 1px; }
.fusion-is-sticky a:hover .fusion-caret .fusion-dropdown-indicator { bottom: 1.5px; }
.fusion-is-sticky .current-menu-item a:hover .fusion-caret .fusion-dropdown-indicator { bottom: 0; }

.fusion-is-sticky .fusion-main-menu > ul > li > a:not(.fusion-logo-link):hover,
.fusion-is-sticky .fusion-main-menu > ul > li.current-menu-item > a:not(.fusion-logo-link):hover,
.fusion-is-sticky .fusion-main-menu > ul > li.current-menu-item > a:not(.fusion-logo-link) { /*margin-top: 1.5px;*/ }
.fusion-main-menu a:hover span.menu-text, .fusion-main-menu .current_page_item span.menu-text {
	padding: 0 0 12px 0;
	border-bottom: 3px solid #8db0d8 !important;
	margin-bottom: -12px;
}
#menu-item-1183 a span.menu-text { /* HOME - LordIcon */
	padding: 0 !important;
	border-bottom: none !important;
	margin-bottom: 0 !important;
}
.fusion-is-sticky #menu-item-1183:not(.current-menu-item) a:hover { margin-top: 0 !important; }
.fusion-row .fusion-main-menu .sub-menu li a:hover, .fusion-row .fusion-main-menu .sub-menu li.current-menu-item a {
	background-color: transparent !important;
	color: var(--ecs-green) !important;
	border-bottom: none;
	margin-bottom: 0;
}
.fusion-main-menu .sub-menu a {
	padding: 9px 0 5px !important;
	margin: 0 20px;
}
.fusion-main-menu .fusion-dropdown-menu .sub-menu li a {
	line-height: 1.3;
	font-size: 1.15rem !important;
}
.fusion-main-menu .sub-menu a, .fusion-main-menu .sub-menu a:hover { transition: border-color var(--transition-time) !important; }
/*.fusion-main-menu > ul > li > a .fusion-menu-description, a, a:after, a:before { transition-duration: 0s !important; } warum??? */

/*** DEV SubMenu ***/
/*.fusion-main-menu, .fusion-main-menu .fusion-dropdown-menu { overflow: visible !important; }
.fusion-main-menu .sub-menu {	visibility: visible!important;	opacity: 1!important; }*/

/* Submenu */
.fusion-main-menu .sub-menu { width: 19rem !important; }
.fusion-mobile-nav-holder > ul li a {font-weight: 400 !important;}
.fusion-mobile-nav-holder > ul li li a {
	font-weight: 300 !important;
	background-color: #fafafa !important;
}
.fusion-mobile-nav-holder .fusion-megamenu-icon { display: inline-block !important; position: relative; left: -5px; }
.fusion-main-menu > ul > li#menu-item-1269 > a > .fusion-megamenu-icon,
.fusion-main-menu > ul > li#mobile-menu-item-1269 > a > .fusion-megamenu-icon {
	font-size: 16px;
	color: #fff;
	padding-right: 0.4em;
	display: block;
}
.fusion-mobile-current-nav-item .menu-text, .fusion-mobile-current-nav-item .fusion-mobile-current-nav-item span { font-weight: bold; }
li .fusion-open-submenu:before {
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
}
li .fusion-open-submenu[aria-expanded="true"]:before { content: "\f077"; }
li.fusion-mobile-nav-item .fusion-open-submenu { color: #999; }
button.fusion-open-submenu { padding-right: 2rem; }
.fusion-mobile-menu-text-align-center li.fusion-mobile-nav-item li a:before { content: "" !important; display: none; }
ul#mobile-menu-hauptmenue > li.fusion-mobile-nav-item:last-child a { border-bottom: none; }
.fusion-mobile-nav-holder ul li:first-child a { padding-top: 0.5rem; }
ul.sub-menu > li.fusion-mobile-nav-item a {
	height: 2.5rem;
	line-height: 1.2;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
ul.sub-menu > li.fusion-mobile-nav-item:not(:last-child) a { border-bottom: none; }
a[aria-expanded="true"].awb-icon-bars:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00d";
	font-weight: 600;
	padding-right: 8px;
}

/* Page Title Bar */
.fusion-page-title-bar {
	border: none;
	min-height: var(--page_title_height) !important;
	height: var(--page_title_height) !important;
}
.fusion-page-title-bar .fusion-page-title-row {
	min-height: var(--page_title_height) !important;
	max-width: 100%;
	height: 100% !important;
	padding: 1.5rem 0;
	display: flex;
}

.avada-has-pagetitle-bg-parallax .fusion-page-title-bar {
	background-size: auto !important;
	background-position: bottom center !important;
}
.fusion-page-title-row .fusion-page-title-wrapper {
	align-items: unset;
	background-color: var(--bg-title);
	margin: 0 auto;
	border-radius: 999px;
	height: auto;
	width: fit-content;
	min-width: 50%;
	max-width: 80%;
	align-self: center;
	justify-content: center;
	padding: 1rem 0;
}
.fusion-page-title-bar { /* padding: 25px 50px !important; */}
html:not(.avada-has-site-width-percent) .fusion-page-title-bar {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.fusion-page-title-bar .fusion-page-title-row h1 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	text-align: center;
}
.fusion-page-title-bar-center .fusion-page-title-captions {
	padding: 1em;
	position: relative;
	margin: 0 auto;
}
.fusion-page-title-bar-center .fusion-page-title-captions.image {
	padding: 1em;
	max-width: 60rem;
}
.fusion-page-title-captions * { vertical-align: middle; }
.fusion-page-title-captions { max-width: min(90%, 1300px); }
.fusion-page-title-captions h1 span {
	text-align: center;
	margin: 0 auto;
}
.fusion-page-title-captions h3 { margin: 0.5em auto 0 !important; }
.fusion-page-title-captions h3 * {
	font-weight: normal !important;
	margin-top: -3px;
}
.fusion-page-title-captions img {
	position: absolute;
	right: -50px;
	top: -50px;
	height: 240px;
	display: none;
}
.fusion-imageframe {
	max-width: min(var(--awb-max-width), 100%) !important;
	max-height: 100%;
}
/* Alternative */
.fusion-page-title-bar .fusion-page-title-row {
	padding: 1.5rem 0 0;
}
.fusion-page-title-row .fusion-page-title-wrapper {
	border-radius: 6rem 6rem 0 0;
	align-self: flex-end;
}
.fusion-page-title-bar-center .fusion-page-title-captions {
	padding: 1em 1em 0.5em;
}

/*-- Header --*/

/*** Main Content ***/
.heading-with-icon img { width: 4rem; }

/* Kacheln */
#kacheln .fusion-imageframe { aspect-ratio: 5 / 4; }
#content .post-content .quote {
	font-size: 90% !important;
	line-height: 1.3 !important;
	margin-left: 40px;
}
#content .post-content blockquote {
	font-size: 1.1rem !important;
	margin: 0 0 0 -1rem;
	border: none;
	position: relative;
}
blockquote:before, blockquote:after {
	color: #ccc;
	content: '\f10d';
	/*font-family: 'quotes', sans-serif;*/
	font-family: "Font Awesome 5 Free", sans-serif;
	font-size: 30px;
	position: absolute;
	top: 0;
	left: -26px;
	display: block;
	font-weight: 900;
}
blockquote:after {
	content: '\f10e';
	bottom: -22px;
	right: 8px;
	top: auto;
	left: auto;
	display: none;
}
blockquote:before, blockquote:after {
	content: "\f10d";
	font-weight: 900;
}
.fusion-main-menu > ul > li {
	hyphens: none;
	margin: 0 !important;
}

/* Blockquote no-style */
.fusion-layout-column .fusion-column-inner-bg-image.hover,
.fusion-layout-column .fusion-column-inner-bg-image:hover { background-color: inherit !important; }
#content .post-content .no-style.quote, #content .post-content .no-style blockquote {
	border: none;
	font-size: inherit !important;
	line-height: inherit !important;
	margin: 0;
	padding-left: 0;
}
#content .post-content .no-style.quote > p {
	font-size: 90% !important;
	line-height: 1.3 !important;
}
.no-style blockquote:before, .no-style blockquote:after { display: none; }
.no-style blockquote p:before, .no-style blockquote p:after {
	display: inline;
	content: '"';
	font-size: 17px !important;
	position: initial;
	font-weight: normal;
	color: inherit;
}

/* Notice box */
.notice {
	padding: 1em;
	margin-bottom: 2em;
	background-color: #deeff6;
	border-radius: 6px;
}

/** Page: Kontakt **/
#menu-item-238 a span {
	background-color: var(--ecs-blue) !important;
	color: #ffffff !important;
	border-radius: var(--radius);
	padding: 0.59rem 1rem 0.5rem;
	position: relative;
	bottom: 1px;
	margin-bottom: 0 !important;
	border: none !important;
	transition: all var(--transition-time) ease-in-out;
}
#menu-item-238.current-menu-item a span,
#menu-item-238 a:active span,
#menu-item-238 a:focus span,
#menu-item-238 a:hover span {
	background-color: var(--ecs-green) !important;
}
#menu-item-238 a:hover span { transform: rotate(15deg); }

/* OpenStreetMap */
.osm-map { width: 100% !important; }

/* Weg zur Praxis */
.weg-zur-praxis {
	.awb-imageframe-caption-title { display: none; }
	.awb-imageframe-caption-container {
		background: #00000066;
		color: #fff;
		height: 4rem;
		display: flex;
		align-items: center;
		margin-top: -8rem;
		position: relative;
		width: 100%;
		justify-items: center;
		text-align: center;
		bottom: 4rem;
		z-index: 1;
		.awb-imageframe-caption { width: 100%; }
		p {
			text-align: center;
			margin: 0 !important;
			padding: 0.3rem 1rem;
			line-height: 1.2;
		}
	}
	.klingel { margin-top: calc(-4rem + var(--awb-spacing-left) * 2); }
	div.fusion-image-element:has(.klingel) {
		margin: 0 auto;
		margin-bottom: calc(-4rem + var(--awb-spacing-left) * 1.5);
		max-width: 25rem;
	}
}

/*** Teaser / Sidebar ***/
.teaser .fusion-column-wrapper { /* margin: 0 !important; */}
.teaser > div {
	padding: 1em;
	background-color: #deeff6;
	border-radius: 6px;
}
.teaser-content {
	width: 100%;
	display: block; /* up to 1024px flex */
	flex-flow: row nowrap;
	justify-content: space-between;
	column-gap: 2em;
}
.teaser-content img {
	width: 100%;
	max-width: 300px;
}
.teaser-content .image {
	flex-grow: 1;
	flex-shrink: 2;
	margin-bottom: 1.3em;
}
.teaser-content .teaser {
	flex-grow: 2;
	flex-shrink: 1;
}

/*** Pages ***/
#main {
	background-color: transparent;
	background-image: url("logoicon-background-8-cu.png") !important;
	background-size: contain;
	background-position-y: bottom;
	background-position-x: center;
	background-repeat: no-repeat !important;
	transition: background-position-y var(--transition-time) ease-in;
}

/* Home */
.home #main { padding-top: 1rem; } /* war 2rem */
.wide-width {
	margin-left: calc(0px - var(--page-padding)) !important;
	margin-right: calc(0px - var(--page-padding)) !important;
	margin-bottom: 0 !important;
	border-radius: calc(var(--radius) * 2) !important;
}

/* Kurse */
.fusion-featured-slider-tb { aspect-ratio: 1/1; }
.fusion-featured-slider-tb .fusion-slider-sc { height: 100%; }
.fusion-featured-slider-tb .flexslider .slides img {
	height: 100%;
	width: auto;
	max-width: unset;
	position: relative;
	transform: translateX(-50%);
	left: 50%;
}
.flexslider .slides, .flexslider .slides li, .flexslider .slides li span {
	height: 100%;
	display: block;
}
.flexslider .slides img {
	/*width: 95%;*/
	margin: 0 auto;
	max-height: 100%;
}

/* Kontakt */
.page-id-232 .fusion-page-title-bar { /*background-position-y: -9vw; out of frame! */ }
.wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.3em;
}
.wpcf7-form-control-wrap[data-name="agbzustimmung"] { display: inline; }
.post-content .wpcf7-form-control-wrap { }
.post-content .wpcf7 { max-width: 600px; }
label.w_50:first-child, label.w_25:first-child, label.w_75:first-child { margin-right: 5%; }
label.w_25 {
	width: 22.5%;
	display: inline-block;
}
label.w_75 {
	width: 72.5%;
	display: inline-block;
}
span.wpcf7-form-control-wrap.agbzustimmung { display: inline; }
.post-content .wpcf7-list-item {
	display: inline-block;
	margin: 0;
}
input.wpcf7-form-control.has-spinner.wpcf7-submit { /*text-shadow: 1px 2px 1px #000;*/ }
input[type="submit"] { background-color: #d7ebf4; }
input[type="submit"]:hover { /* background-color: #cfe7f2; */ }
div.caption { /*padding-right: 11px;*/ }
.caption {
	padding: 0;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
}
.caption a, .caption .nolink {
	color: #fff;
	background-color: #8db0d8 !important;
	display: inline-block;
	width: 100%;
	padding: 0.5em 30px;
	/* border-bottom: 4px solid #cfe7f2; */
	margin-right: 18px;
	letter-spacing: 1px;
}
.caption a:hover {
	background-color: rgba(141, 176, 216, 0.75) !important;
	color: #fff;
}
.post-content .caption p { margin: 0; }
.post-content .content p { margin-bottom: 0; }
/* Postcard Kurse */
/*-- Pages END --*/

.fusion-main-menu > ul > li#menu-item-1269 > a > .fusion-megamenu-icon { display: none; }
.fusion-main-menu > ul > li#menu-item-1269 > a, .fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a {
	background-color: #336095;
	border-radius: 24px;
	color: #fff;
	height: 42px;
	letter-spacing: 0;
	margin: 7px auto;
	font-size: 16px;
	max-width: 80px;
	padding: 0 11px 0 14px;
}
.fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a {
	font-size: 16px;
	line-height: 43px;
	width: 181px;
}
.fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a i {
	font-size: 15px;
	position: relative;
	top: 0.5px;
}
#menu-item-1269:hover, #menu-item-1269:hover a, .fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a:hover {
	background-color: #8db0d8 !important;
}
.fusion-main-menu > ul > li#menu-item-1269 > a { height: 24px; }
.fusion-main-menu li#menu-item-1269 a:hover span.menu-text {
	border-bottom: none !important;
	margin-bottom: -12px;
}

/* Bloglist */
body .fusion-post-cards > .fusion-grid > .fusion-grid-column { width: 100% !important; }
.home .fusion-column-wrapper.fusion-content-layout-row { min-height: 74px; }
.page-id-1278 .fusion-column-wrapper.fusion-content-layout-row { min-height: 146px; }

.fusion-post-cards.fusion-post-cards-1.fusion-grid-archive { max-width: 100%; }
.fusion-post-cards { max-width: 600px; margin: 1em auto 0 !important; }
.fusion-post-cards .post-card.fusion-grid-column {
	margin: 0 auto;
	display: block;
}

.fusion-classic-product-image-wrapper.small { width: 74px; }
.post-card .fusion-image-wrapper { height: 100%; }
.post-card img { width: 180px; height: 100%; }
.post-card .small img { width: auto !important; min-width: 74px !important; }
/* RL241021 Media query ueberschrieben */

.fusion-post-card-image:not(.small) { min-width: 170px; }
.post-card .small.fusion-title { margin-bottom: 5px !important; }
.post-card .date {
	display: block;
	flex-direction: column;
	width: 180px;
	min-width: 180px;
}
.post-card .date.small {
	width: 150px;
	min-width: 120px;
}
.post-card .date p {
	color: #fff;
	background-color: #336095;
	font-size: 25px !important;
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	padding: 0 0.5em;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
}
.post-card .date.small p {
	font-size: 18px !important;
	padding: 10px 5px;
}
.post-card .title {
	width: 224px;
	/*width: 100%;*/
	padding: 10px 20px;
	flex-direction: column;
}
.post-card .title.small {
	width: 66%;
	padding: 10px 20px;
}
.post-card .title h4 {
	font-weight: bold;
	align-items: center;
	justify-content: left;
	flex-direction: row;
	display: flex;
	height: 100%;
}
.post-card .title.small h4 { }
.post-card .content {
	width: 560px;
	padding: 10px 10px 10px 0;
	max-height: 160px;
	overflow-y: auto;
	margin-bottom: 10px;
	line-height: 1.3;
}
.date k, .date b {
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	/*min-width: 56px; /*RL241021 war 78px;*/
}
.date b {
	text-align: center;
	width: 100%;
}
.date.small k { flex-grow: 0.1; }
.date b {
	flex-grow: 0;
	font-size: 34px;
	clear: both;
	display: block;
}
.date.small b { font-size: 18px; display: inline; }

/*** Footer ***/
/*.fusion-footer-widget-area { padding: var(--footer_area_padding-top) var(--page-padding) var(--footer_area_padding-bottom) !important; }*/
.fusion-footer-widget-area { padding: var(--footer_area_padding-top) 90px var(--footer_area_padding-bottom) !important; }
.fusion-body .fusion-footer .fusion-footer-widget-area-center .fusion-columns .fusion-column { text-align: left; }
section#custom_html-4 { height: 82px; }
.footerlogo {
	display: block;
	vertical-align: bottom;
	position: relative;
	width: 100%;
	img { transform: translateY(-25%); }
}
.fusion-footer .fusion-footer-widget-column { margin-bottom: 1rem; }
.fusion-footer-widget-area ul li a { padding-left: 20px; }
.fusion-footer .fusion-footer-widget-area .widget_nav_menu li a:before {
	background-color: #8db0d8;
	color: #fff;
	width: 1em;
	text-align: center;
	border-radius: 50%;
	top: 0;
	left: -0.1em;
	height: 1.09em;
	line-height: 1.05;
	padding-left: 0.08em;
	font-size: 1.2em;
}
.fusion-footer .fusion-widget-area h3 { color: #336095; }
.fusion-footer .fusion-footer-widget-area .widget_nav_menu li a:hover:before,
#wrapper .fusion-footer .fusion-footer-widget-area .current_page_item > a:before { color: #fff; }
.fusion-footer .fusion-footer-widget-area .widget_nav_menu li {
	border: none;
	padding: 10px 10px 4px 12px;
}
.fusion-footer-widget-area .widget a:hover { text-decoration: underline; }
.to-top-container {
	position: fixed;
	right: 0.58rem;
	bottom: 0.52em;
	z-index: 10;
}
.to-top-container #toTop {
	background-color: var(--awb-color3);
	transition: opacity var(--transition-time) !important;
	display: block;
	position: relative;
	right: 0 !important;
	pointer-events: auto !important;
	border-radius: var(--radius) !important;
	height: 2.5rem !important;
	width: 3rem !important;
}
.to-top-container #toTop:hover {
	background-color: var(--ecs-green) !important;
	/*opacity: 1 !important;*/
}
#toTop:before {
	line-height: 1.1 !important;
	font-size: 2rem !important;
}
/*-- Footer END --*/

body #BorlabsCookieBox {
	.brlbs-cmpnt-dialog, .brlbs-cmpnt-container .brlbs-cmpnt-dialog { background-color: #fff !important; }
	div.brlbs-cmpnt-container, body div.brlbs-cmpnt-container *, .brlbs-cmpnt-dialog-details-header,
	p, li, button, .btn, div[role="button"], .wp-element-button, a.wp-block-button__link:not(.has-background), a.generate-back-to-top {
		color: var(--dialog-card-text-color) !important;
	}
	button, .btn, div[role="button"], .wp-element-button, a.wp-block-button__link:not(.has-background),
	button.brlbs-cmpnt-tab-inactive:hover { color: #fff !important; }
	button.brlbs-cmpnt-tab-inactive { color: var(--dialog-card-text-color) !important; }
}
#BorlabsCookieBox .brlbs-cmpnt-widget svg, .brlbs-cmpnt-widget svg, .brlbs-cmpnt-container .brlbs-cmpnt-widget svg {
	height: 48px !important;
	width: 48px !important;
}
#BorlabsCookieBox .brlbs-cmpnt-widget.brlbs-cmpnt-hide-widget, .brlbs-cmpnt-container .brlbs-cmpnt-widget.brlbs-cmpnt-hide-widget {
	transform: inherit !important;
	pointer-events: all !important;
}

/*** Allgemein ***/
.hidden { display: none !important; }
.no-overflow { overflow: hidden !important; }
.h100 { height: 100% !important; }
.h100 { height: 100% !important; }
#kacheln .fusion-layout-column .fusion-builder-row-inner:nth-child(2) { height: 100% !important; }
#kacheln .fusion-title.fusion-sep-none { min-height: 4.5em; }
#kacheln h1.fusion-title-heading.title-heading-left {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	color: var(--ecs-blue) !important;
}

/*** Accessibility ***/
/* Buttons */
.accessibility-buttons {
	--a-pad: 8px;
	--a-pad-2: 4px; /* half */
	--base: var(--ecs-blue);
	--acc-btn-size: 30px;
	--transition-time: 0.3s;
	--transition-time-slow: 0.6s;
	--btn-count: 2; /* animation switch hiddenanimation and switch hidden */

	position: absolute;
	top: auto;
	right: 6px;
	bottom: -44px;
	left: auto;
	display: flex;

	padding: 0 0 0 calc(var(--a-pad) * 3px);
	border-radius: 0 var(--radius) var(--radius) 0;
	transition: all var(--transition-time);
	z-index: 10;
	button { cursor: pointer; }
	button.btn-icon {
		/*color: var(--ecs-blue) !important;*/
		color: #fff !important;
		background: transparent !important;
		border: none;
		/*border-radius: 1rem;*/
		&:hover { color: var(--ecs-green) !important; }
		svg {
			height: var(--acc-btn-size);
			width: var(--acc-btn-size);
			display: block;
		}
	}
}
.btn-round.dark-mode-switch, .btn-round.text-size-switch {
	position: relative;
	padding: var(--a-pad-2);
	transform: scaleX(-1) !important;
	transition: transform var(--transition-time) !important;
}
.cf-theme-dark .btn-round.dark-mode-switch, .text-size-large .btn-round.text-size-switch { transform: scaleX(1) !important; }

/* Position below header */
.accessibility-switch, .btn-round.animation-switch { display: none; }

/* Larger base type when enabled */
h3, #content p, #content a, .footer p, .footer a, li,
button, label, input, textarea, select, .with_frm_style .frm_primary_label,
.with_frm_style .frm_radio label, .with_frm_style .frm_checkbox label,
.fusion-button-default-size, button.button {
	transition: all var(--transition-time) !important;
}
html.text-size-large {
	#content p, #content a, .fusion-text p, .footer p, .footer a, li,
	button, label, input, textarea, select, .with_frm_style .frm_primary_label,
	.with_frm_style .frm_radio label, .with_frm_style .frm_checkbox label {
		font-size: 112.5%;
		color: #000;
	}
	.fusion-page-title-captions-text h3 { --page_title_subheader_font_size: clamp(1.05rem, 0.857rem + 0.714vw, 1.65rem); }
	#content a { color: var(--ecs-blue); }
	#content p a, .footer p a, li a, button a { font-size: 100%; }
	.awb-imageframe-caption-container .awb-imageframe-caption-text { color: var(--awb-caption-text-color) !important; }
	.info p { font-size: 1.5rem !important; }
	#main { background-position-y: 1000%; }
	/* gone */
}

/* Prefer reduced motion */
html.prefers-reduced-motion *,
html.prefers-reduced-motion *::before,
html.prefers-reduced-motion *::after {
	animation: none !important;
	transition: none !important;
	scroll-behavior: auto !important;
}

/* Dark mode */
html.cf-theme-dark body {
	--contrast: #fff;
	--bg-dark-mode: #000;
	--bg-dark-mode-text: #fff;
	--header_border_color: var(--bg-dark-mode);
	--nav_typography-color: var(--contrast);
	--awb-inner-bg-color: var(--bg-dark-mode);
	--dialog-background-color: var(--bg-dark-mode);
	--mobile_header_bg_color: var(--bg-dark-mode);
	.fusion-top-header .fusion-header { background-color: var(--bg-dark-mode); }
	.fusion-header-wrapper { --header_sticky_bg_color: var(--bg-dark-mode); }
	#side-header, .fusion-header {
		--header_bg_color: var(--bg-dark-mode);
		--archive_header_bg_color: var(--bg-dark-mode);
	}
	&:not(.mobile-menu-design-flyout) .fusion-mobile-nav-item a {
		background-color: var(--bg-dark-mode);
		border-color: var(--bg-dark-mode-text);
	}
	.fusion-mobile-nav-item a { color: var(--bg-dark-mode-text); }
	.fusion-mobile-nav-holder > ul li li a { background-color: var(--bg-dark-mode) !important; }

	color-scheme: dark;
	background-color: var(--bg-dark-mode) !important;
	.fusion-column-inner-bg-image { --awb-inner-bg-color: transparent !important; }
}
.cf-theme-dark {
	#main { background-image: none; }
	::selection { color: var(--contrast); }
	body, #wrapper, #main { background-color: var(--bg-dark-mode) !important; }
	.fusion-header-wrapper { background-color: var(--bg-dark-mode); }
	.main-navigation, .main-navigation ul ul { background-color: var(--bg-dark-mode) !important; }
	.main-navigation .main-nav ul li a, .main-navigation .menu-toggle,
	.main-navigation .menu-bar-items, .footer { color: var(--bg-dark-mode-text) !important; }
	.inside-top-bar .inverse button, button.inverse { color: var(--contrast) !important; }
	.inverse, .inverse .h2, .inverse h2, .copyright-bar, .copyright-bar a { color: var(--contrast) }
}

/* Dark mode & Inverse */
.cf-theme-dark, .dark, .inverse {
	a {
		/* from .underline */
		/*		text-decoration-color: var(--bg-dark-mode-text);
				text-decoration-line: underline;
				text-decoration-thickness: 2px;*/
	}
	a:hover {
		color: var(--ecs-green) !important;
		text-decoration-color: var(--ecs-green) !important;
	}
	p, li, button, .btn, div[role="button"], .wp-element-button,
	a.wp-block-button__link:not(.has-background), a.generate-back-to-top {
		color: var(--bg-dark-mode-text) !important;
	}
	footer {
		p, li, button, .btn, div[role="button"], .wp-element-button,
		a.wp-block-button__link:not(.has-background) {
			color: var(--body_typography-color) !important;
		}
	}
	button:hover, .btn:hover, div[role="button"]:hover, .wp-element-button:hover {
		background-color: var(--ecs-blue-light);
		color: var(--bg-dark-mode-text);
	}
}
/*-- Accessibility END --*/

.footerlogo { width: 15rem; }

/*** Media Queries ***/
@media (min-width: 480px) {
	section#custom_html-4 { height: 48px; }
}
@media (min-width: 580px) {
	section#custom_html-4 { height: 82px; }
}
@media (min-width: 1200px) {
	body:not(.avada-menu-highlight-style-background) .fusion-is-sticky .fusion-main-menu > ul > li:not(:last-child) {
		padding-right: 41px !important;
	}
	.fusion-main-menu > ul > li#menu-item-1269 > a > .fusion-megamenu-icon { display: block; }
	.fusion-main-menu > ul > li#menu-item-1269 > a,
	.fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a { max-width: 110px; }
}
@media (min-width: 1400px) {
	/* Termin buchen Button */
	#menu-item-1269 {
		position: absolute;
		right: 0;
		bottom: 18px;
		top: auto;
	}
	.fusion-main-menu > ul > li#menu-item-1269 > a {
		font-size: 17px;
		max-width: 200px;
	}
}
@media (min-width: 1600px) {
	#main { background-size: 90%; }
	/* Page Title Bar */
	.avada-has-pagetitle-bg-parallax .fusion-page-title-bar {
		background-size: contain !important;
		max-width: 1400px;
		margin: 0 auto;
	}
	.page-id-232 .fusion-page-title-bar { background-position-y: -9vw; }
}
@media (min-width: 2000px) {
	#main { background-size: 80%; }
	/* Page Title Bar */
	.fusion-page-title-row .fusion-page-title-wrapper { max-width: 66%; }
	.avada-has-pagetitle-bg-parallax .fusion-page-title-bar { background-size: auto !important; }
}
@media (max-width: 1124px) {
	/* Mobile menu break point */
	.fusion-logo a.fusion-logo-link { max-width: 440px; }
	#menu-item-1269 { display: none; }
	.fusion-mobile-nav-holder > ul > li#mobile-menu-item-1269.fusion-mobile-nav-item > a {
		height: 42px;
		margin: 7px auto;
		font-size: 17px;
		max-width: 180px;
		padding: 0 11px 0 14px;
	}
}
@media (max-width: 1024px) {
	/* medium / Mobile page display break point */
	.fusion-page-title-row .fusion-page-title-wrapper {
		min-width: 70%;
		max-width: 90%;
	}
	.teaser-content { display: flex; }
	/* column order */
	.order-medium-0 { order: 0 !important; }
	.order-medium-1 { order: 1 !important; }
	.order-medium-2 { order: 2 !important; }
	.order-medium-3 { order: 3 !important; }
	.order-medium-4 { order: 4 !important; }

	.order-medium-0 .fusion-image-element {
		text-align: left !important;
		margin: 1rem 0 2rem !important;
	}
	.fusion-featured-slider-tb .flexslider { height: auto !important; }
	#kacheln .fusion-title.fusion-sep-none { min-height: 2em; }
	body div.brlbs-cmpnt-container * { bottom: 17px !important; }
}
@media (max-width: 800px) {
	.fusion-layout-column.fusion-post-cards-grid-column {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	#kacheln .fusion-title.fusion-sep-none { min-height: 3em; }
	.fusion-column.content-box-column.content-box-column { margin: 0 0 4rem !important; }
	.fusion-column.content-box-column.content-box-column.content-box-column-3 { margin: 0 !important; }
	.fusion-content-boxes.content-boxes-icon-on-top .heading img { margin-bottom: 0 !important; }
}
@media (max-width: 767px) {
	/* Page Title Bar */
	.fusion-page-title-captions img {
		height: 120px;
		right: -15px;
		top: -12px;
	}
	.fusion-page-title-bar-center .fusion-page-title-captions.image { padding: 0; }
	.fusion-responsive-typography-calculated {
		--minFontSize: calc(var(--typography_factor) * 6) !important; /* 6 set for --base-font-size*/
	}
}
@media (max-width: 640px) {
	/* Switch to one column (Home) */
	#wrapper #main { padding-bottom: 45px; }
	.teaser-content { flex-wrap: wrap; }
	.fusion-page-title-row .fusion-page-title-wrapper {
		border-radius: 4rem 4rem 0 0;
		min-width: 90%;
	}
	.mobile-wrap { --awb-flex-wrap: wrap !important; }
	.info-icon .fusion-image-element { text-align: center !important; }
	.info-icon .fusion-column-wrapper { padding-bottom: 0 !important; }
	#kacheln .fusion-imageframe { aspect-ratio: 5 / 3; }
	#kacheln .fusion-title.fusion-sep-none { min-height: 1em; }
}
@media (max-width: 480px) {
	html:not(.avada-has-site-width-percent) #main, html:not(.avada-has-site-width-percent) .fusion-footer-copyright-area, html:not(.avada-has-site-width-percent) .fusion-footer-widget-area, html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-bottom .fusion-sliding-bar, html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-top .fusion-sliding-bar, html:not(.avada-has-site-width-percent) .tfs-slider .slide-content-container {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	/*.fusion-row .fusion-mobile-menu-icons { bottom: 1vh; }*/
	/* Page Title Bar */
	.fusion-page-title-row .fusion-page-title-wrapper { max-width: 100%; }
	.fusion-page-title-captions img { display: none; }
	.fusion-page-title-bar {
		padding: 0 !important;
	}
	.fusion-page-title-bar-center .fusion-page-title-captions { padding: 0.5em 0 0; }
	.fusion-page-title-bar-center .fusion-page-title-captions.image { padding: 0.2em; }
}
@media (max-width: 380px) {
	ul.sub-menu > li.fusion-mobile-nav-item a {
		font-size: 16px !important;
		height: 2.2rem !important;
	}
	ul:not(#mobile-menu-hauptmenue):not(.sub-menu):not(.menu) { padding-inline-start: 1.6rem; }
}
@media (max-width: 320px) {
	/* Page Title Bar */
	.fusion-page-title-bar { padding: 5px 5px !important; }
}

.fusion-selfhosted-video video {
	max-height: 100vh !important;
	width: auto !important;
	object-fit: contain !important;
}
