@charset "UTF-8";

/*
* © Esser Media, Heidenheim | https://www.essermedia.de
* Customer: Esser Media
*/

/*
==============
General styles
==============
*/

:root {
	--color-white: var(--awb-color1); /* #fff */
	--color-gray-light: var(--awb-color2); /* #f8f8f6 */
	--color-main: var(--awb-color3); /* #ffcc00 */
	--color-red: var(--awb-color4); /* #ee3311 */
	--color-gray-dark: var(--awb-color5); /* #989896 */
	--color-black: var(--awb-color6); /* #000 */
	--font-weight-bold: 500;
	--mobile-padding-rl: 24px;
	--border-radius-default: 12px;
}

@media screen and (max-width: 767px) {
	:root {
		--container_padding_100_right: var(--mobile-padding-rl);
		--container_padding_100_left: var(--mobile-padding-rl);
		--container_padding_default_right: var(--mobile-padding-rl);
		--container_padding_default_left: var(--mobile-padding-rl);
	}
}

*::-moz-selection {
	background-color: var(--color-main);
	color: var(--color-black);
}

*::selection {
	background-color: var(--color-main);
	color: var(--color-black);
}

body {
	margin-bottom: 0 !important;
}

img[src$=".svg"] {
	width: 100%;
	height: auto;
}

.fusion-imageframe {
	width: 100%;
}

b,
strong {
	font-weight: var(--font-weight-bold);
}

#wrapper .fusion-button-default-size,
#wrapper .fusion-button-default-span,
#wrapper button.button {
	margin-top: 20px;
}

#header .fusion-button {
	margin-top: 0;
}

#wrapper .fusion-button-default-size:hover,
#wrapper .fusion-button-default-span:hover,
#wrapper button.button:hover,
.awb-off-canvas-wrap .fusion-button-default-size:hover,
.awb-off-canvas-wrap .fusion-button-default-span:hover,
.awb-off-canvas-wrap button.button:hover,
.fusion-privacy-bar .fusion-button:hover {
	transform: translateY(-4px);
	box-shadow: 0px 8px 24px -8px
		hsla(var(--awb-color6-h), var(--awb-color6-s), var(--awb-color6-l), calc(var(--awb-color6-a) - 75%)) !important;
}

#header nav a[href="#"] {
	pointer-events: none;
}

.fusion-fullwidth.video-background[data-bg] {
	background-size: cover;
}

.fusion-vimeo .video-shortcode,
.fusion-youtube .video-shortcode {
	border-radius: var(--border-radius-default);
	overflow: hidden;
	box-shadow: 0px 8px 24px -8px
		hsla(var(--awb-color6-h), var(--awb-color6-s), var(--awb-color6-l), calc(var(--awb-color6-a) - 75%));
}

.fusion-text > h1,
.fusion-text > h2,
.fusion-text > h3,
.fusion-text > h4,
.fusion-text > h5,
.fusion-text > h6 {
	color: inherit;
}

/*
=============
Header styles
=============
*/
#header {
	transition: all ease-in-out 0.3s;
}

#header.fusion-sticky-transition {
	--awb-background-image: none !important;
	--awb-padding-top: 24px !important;
	--awb-padding-bottom: 24px !important;
	box-shadow:
		0 3px 9px rgba(0, 0, 0, 0.15),
		0 9px 27px rgba(0, 0, 0, 0.05);
}

#header nav.fusion-menu-element-wrapper .fusion-menu li:last-child > a {
	padding-right: 0;
}

/*
=========
Headlines
=========
*/

/*
========
Formular
========
*/
form abbr {
	text-decoration: none;
}

form input,
form select {
	font-weight: var(--body_typography-font-weight);
}

/*
==============
Slide-in-Panel
==============
*/
#sip {
	transition: right ease-out 0.2s;
	position: fixed;
	top: 144px;
	right: -100%;
	width: 100%;
	padding: 50px 50px 10px 30px;
	overflow-y: auto;
	background-color: var(--color-white);
	border: 2px solid var(--color-black);
	z-index: 99999;
}

@media screen and (min-width: 768px) {
	#sip {
		top: 250px;
		right: -75%;
		width: 75%;
	}
}

@media screen and (min-width: 990px) {
	#sip {
		right: -50%;
		width: 50%;
	}
}

@media screen and (min-width: 1300px) {
	#sip {
		right: -40%;
		width: 40%;
	}
}

#sip.show {
	right: 0;
}

#sip .sip-close {
	position: absolute;
	right: 25px;
	top: 40px;
	cursor: pointer;
	display: inline-block;
	line-height: 1;
	padding: 5px;
	z-index: 99;
}

@media screen and (max-width: 1199px) {
	#sip .sip-close {
		right: 20px;
	}
}

#sip .sip-close::before {
	transition: transform ease-out 0.2s;
	transform: rotate(0);
	transform-origin: center;
	content: "\f057";
	font-family: "Font Awesome 5 Free";
	font-weight: 300;
	font-size: 18px;
	color: var(--color-black);
	display: block;
}

#sip .sip-close:hover::before {
	color: var(--color-main);
	transform: rotate(90deg);
}

#sip .fusion-title p {
	margin-top: 0;
}

#sip .fusion-fullwidth {
	padding-top: 0;
	padding-bottom: 0;
}

#sip .fusion-text > p:first-child {
	margin-top: 0;
}

/*
==========
Pivacy-Bar
==========
*/
.fusion-privacy-bar {
	max-height: 100%;
	z-index: 999999;
}

@media screen and (max-width: 767px) {
	.fusion-privacy-bar .fusion-privacy-bar-main {
		flex-wrap: wrap;
	}

	.fusion-privacy-bar .fusion-privacy-bar-main > span {
		margin-bottom: 15px;
	}

	.fusion-privacy-bar .fusion-button {
		margin-top: 10px !important;
	}
}

/*
=======================
Impressum & Datenschutz
=======================
*/
.page-impressum p ~ h3,
.page-datenschutz p ~ h3 {
	margin-top: 50px;
}

.page-impressum h4,
.page-datenschutz h4 {
	margin-top: 30px;
	margin-bottom: 15px;
}

/*
====================
Table / Kurskalender
====================
*/
.tablepress.kurskalender {
	width: 1400px !important;
}

.kurskalender th,
.kurskalender td {
	color: var(--body_typography-color);
	font-size: 18px;
	white-space: nowrap;
}

.kurskalender a {
	line-height: 1.3;
	display: inline-block;
}

#main .kurskalender a:hover {
	color: var(--color-main);
}

.kurskalender thead th,
.kurskalender tbody td,
.kurskalender tfoot th {
	/* width: 200px !important; */
}

.kurskalender tfoot th,
.kurskalender thead th {
	background-color: var(--color-main);
	color: var(--color-black);
}

/*
=============
Pricing-Table
=============
*/
.fusion-pricing-table * {
	cursor: auto;
}

/*
================================
floating Widget / scrollTop Icon
================================
*/
.floating-widget {
	transform: translateY(-50%);
	position: fixed;
	right: 30px;
	top: 50%;
	display: block;
	z-index: 99998;
}

.floating-widget .menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.floating-widget .menu-item,
.floating-widget .menu-item a {
	position: relative;
	display: block;
}

.floating-widget .menu-item a {
	line-height: 50px;
	width: 50px;
	height: 50px;
	overflow: hidden;
	visibility: hidden;
	margin: 5px 0;
}

.floating-widget .menu-item a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	background-color: var(--color-main);
	visibility: visible;
	border-radius: 50%;
}

.floating-widget .menu-item a::after {
	transform: translate(-50%, -50%);
	content: "";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--color-black);
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	line-height: 1;
	visibility: visible;
}

.floating-widget .menu-item a:hover::after {
	color: var(--color-white);
}

.floating-widget .menu-item.fast-call a::after {
	content: "\f3cd";
	font-size: 20px;
}

.floating-widget .menu-item.fast-whatsapp a::after {
	content: "\f232";
	font-family: "Font Awesome 5 Brands";
}

.floating-widget .menu-item.fast-mail a::after {
	content: "\f1d8";
}

.floating-widget .menu-item.sip-open a::after {
	content: "\f129";
}

.floating-widget .menu-item.sip-open {
	display: none;
}

@media screen and (max-width: 767px) {
	.floating-widget {
		right: 0;
		top: auto;
		left: 0;
		bottom: 0;
		width: 100%;
		transform: none;
	}

	.floating-widget .widget {
		padding: 0;
	}

	.floating-widget ul {
		display: table;
		table-layout: fixed;
		width: 100%;
		padding: 0;
		margin: 0;
	}

	.floating-widget .menu-item {
		display: table-cell;
	}

	.floating-widget .menu-item a {
		height: 100%;
		width: 100%;
		margin: 0;
		line-height: 50px;
	}

	.floating-widget .menu-item a::before {
		width: 100%;
		text-align: center;
		background-color: var(--color-black);
		border-radius: 0;
	}

	.floating-widget .menu-item a::after {
		width: 100%;
		height: 100%;
		border-radius: 0;
		color: var(--color-white);
		line-height: 50px;
	}

	.floating-widget .menu-item:last-child a::after {
		border-right-color: #000;
	}

	.floating-widget .menu-item a:hover::after {
		opacity: 1;
		color: var(--color-white);
	}
}

.to-top-floating #toTop {
	border-radius: 50%;
	color: var(--color-black);
	background-color: var(--color-main);
	right: 30px;
	width: 50px;
	height: 50px;
}

.to-top-floating #toTop::before {
	color: var(--color-black);
	line-height: 46px;
	font-size: 29px;
}

.to-top-floating #toTop:hover::before {
	color: var(--color-white);
}

/*
=============
Footer styles
=============
*/
#menu-sitemap li a {
	white-space: nowrap;
}

/*
=======
Toogles
=======
*/
.fusion-accordian .panel-title a {
	padding: 20px 0;
}

@media screen and (max-width: 767px) {
	#content .fusion-accordian .panel-title a {
		font-size: 24px;
	}
}

.z-1 {
	z-index: 10;
}

body:not(.page-datenschutz) .fusion-privacy-form {
	text-align: center;
}

/* Tagline Box */
.fusion-reading-box-container .fusion-button:hover {
	color: var(--color-main);
}

/*
===============
Images Captions
===============
*/
.awb-imageframe-style-dany .awb-imageframe-caption-container .awb-imageframe-caption-title {
	text-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	padding: 24px;
}

.awb-imageframe-style-dany:hover .awb-imageframe-caption-container .awb-imageframe-caption-title {
	color: var(--awb-caption-background-color, var(--awb-caption-overlay-color));
}

.awb-imageframe-style-dany:not(.no-icon) .awb-imageframe-caption-container::before {
	content: "\f30b";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 48px;
	height: 48px;
	line-height: 48px;
	font-size: 24px;
	text-align: center;
	color: var(--color-main);
	border: 2px solid var(--color-main);
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 48px;
	right: 24px;
	transition:
		all ease-in-out 0.2s,
		transform 0.2s ease-out 0.18s;
	opacity: 0;
}

.awb-imageframe-style-dany:not(.no-icon):hover .awb-imageframe-caption-container::before {
	top: 24px;
	opacity: 1;
	transform: rotate(-45deg);
}

/*
===========
Testimonial
===========
*/
.fusion-testimonials.classic blockquote q {
	font-style: normal;
	line-height: var(--body_typography-line-height);
}

/*
===========
Testimonial
===========
*/
.fusion-checklist .fusion-li-item.content-has-title .icon-wrapper {
	margin-top: 4px;
}

.fusion-gallery {
	--awb-border-radius: var(--border-radius-default);
}

/*
=============
Google review
=============
*/

#footer .wp-gr {
	width: 250px !important;
}

/*
============
Avada Slider
============
*/

.intro-hero .tfs-slider .slides li::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	background-image: linear-gradient(
		180deg,
		var(--awb-color7) 40%,
		hsla(var(--awb-color6-h), var(--awb-color6-s), var(--awb-color6-l), calc(var(--awb-color6-a) - 15%)) 100%
	);
}

@media screen and (min-width: 1200px) {
	.tfs-slider .slide-content-container .caption {
		max-width: calc(50% - 24px);
	}
}

.tfs-slider .slide-content-container {
	top: unset;
	bottom: 0;
}

@media screen and (max-width: 1199px) {
	.tfs-slider .slide-content-container {
		transform: 0;
	}
}

.tfs-slider .slide-content-container .tfs-button-1,
.tfs-slider .slide-content-container .tfs-button-2 {
	margin-top: 0;
}

.tfs-slider .slide-content-container .heading {
	margin-bottom: 18px;
}

.fusion-body .tfs-slider .heading .fusion-title-heading {
	text-shadow: 0px 8px 24px
		hsla(var(--awb-color6-h), var(--awb-color6-s), var(--awb-color6-l), calc(var(--awb-color6-a) - 60%));
}

.tfs-slider .slide-content-container .caption {
	margin-bottom: 24px;
}

.fusion-body .tfs-slider .caption .fusion-title-heading {
	text-shadow: 0px 4px 12px
		hsla(var(--awb-color6-h), var(--awb-color6-s), var(--awb-color6-l), calc(var(--awb-color6-a) - 60%));
}

/*
===========
Checklisten
===========
*/
@media screen and (min-width: 768px) {
	.fusion-checklist.tablet-col-2 {
		display: flex;
		flex-wrap: wrap;
		gap: 48px;
		margin-bottom: 48px;
	}

	.fusion-checklist.tablet-col-2 li {
		width: calc(50% - 24px);
		padding: 0;
	}
}

/* Cloned image */
.cloned-image {
	border-radius: var(--border-radius-default);
	overflow: hidden;
	background-color: var(--color-main);
}

@media screen and (min-width: 1200px) {
	.cloned-image {
		display: none;
	}
}

.cloned-image img {
	aspect-ratio: var(--awb-aspect-ratio);
	object-position: var(--awb-object-position);
	object-fit: cover;
	width: 100%;
}

.cloned-image .awb-imageframe-caption-container {
	padding: 24px 24px 4px;
}

.cloned-image .awb-imageframe-caption-container .awb-imageframe-caption-title {
	color: var(--color-black);
}

/*
========
Counters
========
*/

.fusion-counters-box.row {
	--awb-margin-left: -24px;
	--awb-margin-right: -24px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.fusion-counters-box .fusion-counter-box {
	padding: 0;
	margin-right: calc(var(--awb-margin-right) * -1);
	margin-left: calc(var(--awb-margin-left) * -1);
}

.fusion-counters-box.shadow .fusion-counter-box {
	padding: 24px;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	.fusion-counters-box.row .fusion-counter-box {
		width: calc((100% - 96px) / 2);
		margin-left: calc(var(--awb-margin-left) * -1);
	}
}

@media screen and (min-width: 1200px) {
	.fusion-counters-box.fusion-columns-2 .fusion-counter-box {
		width: calc((100% - (48px * 2)) / 2);
	}

	.fusion-counters-box.fusion-columns-3 .fusion-counter-box {
		width: calc((100% - (48px * 3)) / 3);
	}

	.fusion-counters-box.fusion-columns-4 .fusion-counter-box {
		width: calc((100% - (48px * 4)) / 4);
	}

	.fusion-counters-box.fusion-columns-5 .fusion-counter-box {
		width: calc((100% - (48px * 5)) / 5);
	}

	.fusion-counters-box.fusion-columns-6 .fusion-counter-box {
		width: calc((100% - (48px * 6)) / 6);
	}
}

.fusion-counters-box.shadow .fusion-counter-box {
	box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.24);
	border-radius: 12px;
}

.fusion-counters-box .content-box-counter {
	font-weight: var(--font-weight-bold);
}
