/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


html,body {overflow-x:hidden}
.hidden {
	display: none;
}
:focus {
  outline: none !important;
  box-shadow: none !important;
}


.elementor-location-header .elementor-container{transition: all 0.3s ease;}
.elementor-location-header.testing, 
.elementor-location-header.testing .elementor-container {min-height:70px!important;height:70px!important;}
.elementor-location-header.testing .dark_header{background-color: rgba(0, 0, 0, 0.7);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);transition: background-color 0.3s ease, backdrop-filter 0.3s ease;border-bottom:1px solid #535862!important;}
.elementor-location-header.testing .light_header{background-color: rgba(255, 255, 255, 1);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);transition: background-color 0.3s ease, backdrop-filter 0.3s ease;border-bottom:1px solid #E9EAEB!important;}

@media (min-width: 768px) {
.elementor-location-header.testing .light_header{background-color: rgba(255, 255, 255, 0.7);border-bottom:1px solid #E9EAEB!important;}	
}

@media (max-width: 768px) {
.post-type-archive-integrationen .elementor-location-header.testing .light_header{background-color: rgba(255, 255, 255, 1);transition: background-color 0.3s ease, backdrop-filter 0.3s ease;border-bottom:0!important;}

.filter_search.elementor-sticky--active:after {content:'';height:1px;background:#E9EAEB;position:absolute;bottom:0;left:-10px;right:-10px;z-index:999}
	
}


.frm_pro_form input {padding:15px!important}
.frm_pro_form input[type="checkbox"] {padding:5px!important}
.frm_pro_form label {color:#fff!important}
.frm_pro_form a {color:#00B48F;text-decoration:underline}
.frm_pro_form a:hover {color:#00B48F;text-decoration:none}

.frm_pro_form .frm_button_submit {border:none!important;box-shadow:none!important;padding:20px 40px!important;font-weight:600!important;font-size:18px!important}

.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip {
	border: 1px solid #fff;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-left: 5px;
	border-radius: 999px;
	background: none;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	cursor: help;
	vertical-align: middle;
}

.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip::before {
	content: attr(data-tip);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	transform: translate(-50%, 4px);
	width: 250px;
	min-width: 250px;
	max-width: 250px;
	box-sizing: border-box;
	background: #000;
	color: #fff;
	border-radius: 4px;
	padding: 8px 10px;
	font-size: 13px;
	line-height: 1.3;
	text-align: left;
	white-space: normal;
	overflow-wrap: anywhere;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
	z-index: 10000;
	opacity: 0!important;
	visibility: hidden;
	transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
	pointer-events: none;
}

.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 2px);
	transform: translateX(-50%);
	border-width: 6px;
	border-style: solid;
	border-color: transparent;
	border-top-color: #000 !important;
	z-index: 10001;
	opacity: 0!important;
	visibility: hidden;
	transition: opacity .18s ease, visibility .18s ease;
	pointer-events: none;
}

/* Anzeigen bei Hover/Focus */
.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip:hover::before,
.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip:focus::before,
.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip:hover::after,
.list_tooltip .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text .info-tip:focus::after {
	opacity: 1!important;
	visibility: visible!important;
	transform: translate(-50%, 0)!important;
}


@media (min-width: 768px) {
.intro-box {
	opacity: 0;
	transform: translateY(50px);
	/* Start weiter unten */
	animation: slideUpFade .8s ease-out forwards;
	animation-delay: .3s;
	/* kleine Verzögerung */
}

@keyframes slideUpFade {
	from {
		opacity: 0;
		transform: translateY(50px);
	}

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

#expand {
	max-height: 500px;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

#expand.expanded {
	max-height: 7000px;
}

.etw-trigger {
	background: none !important
}

.etw-pos-top .etw-tooltip {
	width: 400px;
	transform: translateX(-50%) !important;
	left: 50% !important;
}

/* Icon bekommt Transition */
.custom_arrow_link .elementor-button .elementor-button-icon {
	display: inline-block;
	/* wichtig für transform */
	transition: transform 0.3s ease;
}

/* Icon verschiebt sich beim Hover */
.custom_arrow_link .elementor-button:hover .elementor-button-icon {
	transform: translateX(5px);
}

/* alte SVGs entfernen */
.custom_accordion .elementor-toggle-icon-closed,
.custom_accordion .elementor-toggle-icon-opened,
.custom_accordion .elementor-toggle-icon svg,
.custom_accordion .elementor-accordion-icon-closed,
.custom_accordion .elementor-accordion-icon-opened,
.custom_accordion .elementor-accordion-icon svg
 {
	display: none !important;
}

/* Container: flex, damit Text links und Icon rechts */
.custom_accordion .elementor-tab-title {
	display: block !important;
	cursor: pointer;
	width: 100%;
	position: relative;
}

/* Icon fixierte Größe am rechten Rand */
.custom_accordion .elementor-tab-title .elementor-toggle-icon,
.custom_accordion .elementor-tab-title .elementor-accordion-icon{
	position: absolute;
	width: 20px;
	height: 20px;
	right: 0;
	top: 50%;
	margin-top: -10px
}

.custom_accordion .elementor-toggle-icon::before,
.custom_accordion .elementor-toggle-icon::after,
.custom_accordion .elementor-accordion-icon::before,
.custom_accordion .elementor-accordion-icon::after {
	content: "";
	display: block;
	background-color: #00B48F;
	/* deine Farbe */
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	transition: 0.35s;
}

/* horizontale Linie */
.custom_accordion .elementor-toggle-icon::before,
.custom_accordion .elementor-accordion-icon::before{
	transform: translateY(-50%);
}

/* vertikale Linie */
.custom_accordion .elementor-toggle-icon::after,
.custom_accordion .elementor-accordion-icon::after{
	transform: translateY(-50%) rotate(90deg);
}

/* Zustand "offen" – aus Plus wird Minus */
.custom_accordion .elementor-tab-title[aria-expanded="true"] .elementor-toggle-icon::before,
.custom_accordion .elementor-tab-title.elementor-active .elementor-toggle-icon::before,
.custom_accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon::before,
.custom_accordion .elementor-tab-title.elementor-active .elementor-accordion-icon::before{
	transform: translateY(-50%) rotate(-90deg);
	opacity: 0;
}

.custom_accordion .elementor-tab-title[aria-expanded="true"] .elementor-toggle-icon::after,
.custom_accordion .elementor-tab-title.elementor-active .elementor-toggle-icon::after,
.custom_accordion .elementor-tab-title[aria-expanded="true"] .elementor-accordion-icon::after,
.custom_accordion .elementor-tab-title.elementor-active .elementor-accordion-icon::after{
	transform: translateY(-50%) rotate(0);
}

/* Button block und volle Breite */
.integration_teaser .cta-slide a {
	display: block !important;
	width: 100% !important;
	position: relative;
	overflow: hidden;
	/* wichtig für Animation */
	text-decoration: none;
}

/* Wrapper auf volle Breite */
.integration_teaser .cta-slide a .elementor-button-content-wrapper {
	position: relative;
	display: block;
	width: 100%;
	height: 30px;
	/* Höhe nach Bedarf */
}

/* Text links versteckt */
.integration_teaser .cta-slide a .elementor-button-text {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) translateX(-100%);
	/* aus dem Sichtbereich schieben */
	opacity: 0;
	transition: transform .5s ease, opacity .5s ease;
	white-space: nowrap;
}

/* Icon startet links */
.integration_teaser .cta-slide a .elementor-button-icon {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	transition: left .6s ease;
}

/* Hover-Effekt */
.integration_teaser:hover .cta-slide a .elementor-button-text,
.integration_teaser .cta-slide a:focus-visible .elementor-button-text {
	transform: translateY(-50%) translateX(0);
	opacity: 1;
}

.integration_teaser:hover .cta-slide a .elementor-button-icon,
.integration_teaser .cta-slide a:focus-visible .elementor-button-icon {
	left: 100%;
	/* Icon fährt bis rechts raus */
	transform: translate(-100%, -50%);
	/* Icon bleibt sichtbar am rechten Rand */
}

.archive .elementor-location-header .logo svg path:first-child {
	fill: #000;
}

#navbar {
	transition: top 0.4s;
}

/* Custom Marquee Slider */
.custom-marquee .swiper-wrapper {
	transition-timing-function: linear !important;
}

.custom-marquee .swiper:before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	bottom: -5px;
	width: 150px;
	z-index: 999 !important;
	background: rgb(237, 237, 237);
	background: linear-gradient(90deg, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%)
}

.custom-marquee .swiper:after {
	content: '';
	position: absolute;
	top: -5px;
	right: 0;
	bottom: 5px;
	width: 150px;
	z-index: 999 !important;
	background: rgb(0, 0, 0);
	background: linear-gradient(270deg, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%)
}

.custom-marquee img {
	filter: grayscale(100%);
	transition: filter 0.2s ease-in-out;
}

.custom-marquee img:hover {
	filter: grayscale(0%);
}

.bubble {
	position: relative;
	background: #FFFFFF;
	/* Weißer Hintergrund */
	color: #000000;
	/* Schwarzer Text */
	text-align: center;
	border-radius: 10px;
	border: 1px solid #E9EAEE;
	/* Schwarzer Rahmen */
	max-width: 600px
}

/* Schwarzer Rahmen (größeres Dreieck im Hintergrund) */
.bubble.right:before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	border-style: solid;
	border-width: 0 30px 30px 0;
	border-color: transparent #E9EAEE transparent transparent;
	bottom: -30px;
	right: 17%;
	margin-right: -11px;
	z-index: 0;
}

/* Weißes Dreieck (Vordergrund) */
.bubble.right:after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	border-style: solid;
	border-width: 0 28px 28px 0;
	border-color: transparent #FFFFFF transparent transparent;
	bottom: -28px;
	right: 17%;
	margin-right: -10px;
	z-index: 1;
}



/* Schwarzer Rahmen (größeres Dreieck im Hintergrund) */
.bubble.left:before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	border-style: solid;
	border-width: 30px 30px 0 0;
	border-color: #E9EAEE transparent transparent transparent;
	bottom: -30px;
	left: 17%;
	margin-left: -11px;
	z-index: 0;
}

/* Weißes Dreieck (Vordergrund) */
.bubble.left:after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	border-style: solid;
	border-width: 30px 30px 0 0;
	border-color: #fff transparent transparent transparent;
	bottom: -28px;
	left: 17%;
	margin-left: -10px;
	z-index: 1;
}

@media (max-width: 768px) {
.table_row {background:#000!important}
.table_title {background:#1C2027!important;}
.table_title > div {border:0!important}
}