@charset "UTF-8";

/*
* © doo.design, Heidenheim | https://doo.design/
* Customer: Combsol GmbH
*/

:root {
  --dooBaseFontSize: 16;
  --dooMinVpSize: 360;
  --dooMaxVpSize: 1024;
  --dooTypoFactor: 1.3;
  --dooTypoSens: 0.8;
}

body.elementor-kit-9 {
	--color-white: var(--e-global-color-accent); /* #FFFFFF */
	--color-gray-light: var(--e-global-color-21960a5); /* #f7f8f9 */
	--color-main: var(--e-global-color-primary); /* #00A3E0 */
	--color-main-dark: var(--e-global-color-secondary); /* #002D72 */
	--color-gray-dark: var(--e-global-color-26e1253); /* #707372 */
	--color-black: var(--e-global-color-text); /* #000000 */

	--font-weight-bold: 700;
	--font-size-mobile: 16px;
}

@media screen and (max-width: 767px) {
	body.elementor-kit-9 {
		--e-global-typography-text-font-size: var(--font-size-mobile);
	}
}

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

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


/* Calculate Font Size */
@media screen and (max-width: 1024px) {
	.doo-responsive-typo-calc {
		--dooMinFontSize: calc(var(--dooTypoFactor) * var(--dooBaseFontSize));
		font-size: calc((var(--dooFontSize) * 1px) - (var(--dooTypoSens) * (var(--dooFontSize) - var(--dooMinFontSize)) * (var(--dooMinVpSize) * 1px - 100vw)) / (var(--dooMaxVpSize) - var(--dooMinVpSize)) - (var(--dooFontSize) - var(--dooMinFontSize)) * var(--dooTypoSens) * 1px) !important;
	}
}

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

.elementor-element.elementor-widget-text-editor p + p {
	margin-top: 16px;
}

.no-whitespace p {
	white-space: nowrap;
}

.e-con.e-parent {
    --padding-top: 120px;
    --padding-right: 24px;
    --padding-bottom: 120px;
    --padding-left: 24px;
}

@media screen and (max-width: 767px) {
	.e-con.e-parent {
		--padding-top: 80px;
		--padding-right: 24px;
		--padding-bottom: 80px;
		--padding-left: 24px;
	}
}

@media screen and (max-width: 767px) {
	.trennung {
		hyphens: auto;
		-webkit-hyphens: auto;
	}
}


.e-con.glass,
.elementor-widget-button .elementor-button {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.button-text,
.button-text::after,
.button-text::before,
.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip a::after {
	transition: all .2s ease;
}

.button-text::after,
.button-text.go-back::before,
.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip a::after {
	content: '\eec9';
	font-family: 'fa7pro';
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	display: inline-block;
	margin-left: 4px;
	font-size: 0.9em;
}

.button-text.go-back::after {
	content: '';
}

.button-text.go-back::before {
	content: '\f8ef';
	margin-left: 0;
	margin-right: 4px;
}

body:not(.elementor-editor-active) button.tag {
	pointer-events: none;
}

/* Impressum / Datenschutz */
.page-impressum h4,
.page-site-notice h4,
.page-datenschutz h4,
.page-privacy h4 {
	margin-top: 0;
	margin-bottom: 8px;
}

.page-impressum p + h3,
.page-site-notice p + h3,
.page-datenschutz p + h3,
.page-privacy p + h3 {
	margin-top: 48px;
}

.page-impressum p + h4,
.page-site-notice p + h4,
.page-datenschutz p + h4,
.page-privacy p + h4 {
	margin-top: 24px;
}

/* HEADER */
header.elementor .header-transparent {
	transition-property: color, fill, background-color, box-shadow, padding;
	transition-duration: 0.2s;
	transition-timing-function: ease;
}

header.elementor .header-transparent.elementor-sticky--effects {
	--padding-top: 16px;
	--padding-bottom: 16px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
}

header.elementor .header-transparent.elementor-sticky--effects:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--color-white);
}

header.elementor .header-transparent.elementor-sticky--effects .elementor-nav-menu .elementor-item {
	color: var(--color-black);
	fill: var(--color-black);
}

header.elementor .header-transparent .elementor-nav-menu .sub-menu {
	left: -14px !important;
	overflow: hidden;
}

header.elementor .header-transparent .elementor-nav-menu .current-page-parent .elementor-item {
	color: var(--color-main);
	fill: var(--color-main);
}

ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
	border-inline-start: 0 none;
}

@media screen and (max-width: 1024px) {
	header .elementor-nav-menu--dropdown {
		width: calc(100vw - 48px) !important;
		right: 0;
		left: unset !important;
	}

	header .elementor-menu-toggle.elementor-active {
		margin-right: 3px;
	}
}

header .wpml-ls-menu-item > a.elementor-item {
    display: flex;
    align-items: center;
	cursor: default;
}

header .wpml-ls-menu-item > a.elementor-item .sub-arrow {
    order: -1;
    padding-inline-end: 8px;
    padding-inline-start: 0;
}

/* Logo Handling Transparent Sticky */
header .header-transparent .elementor-widget-theme-site-logo {
	display: none;
}

header .header-transparent.elementor-sticky--effects .logo-negative {
	display: none;
}

header .header-transparent.elementor-sticky--effects .elementor-widget-theme-site-logo {
	display: block;
}

header .header-transparent.elementor-sticky--effects .elementor-widget-theme-site-logo img {
	width: 180px;
}
/* End Logo Handling */



@keyframes bg-scroll {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 100% 0;
	}
}

.bg-animation {
	animation: bg-scroll 60s linear infinite;
}


/* Button */
.e-loop__load-more .elementor-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button .elementor-button-content-wrapper {
    align-items: center;
}

.elementor-widget-button .elementor-button .elementor-button-icon,
.e-loop__load-more .elementor-button .elementor-button-icon {
	width: 36px;
    height: 36px;
    border-radius: 36px;
    text-align: center;
    display: flex;
    justify-content: center;
    color: var(--color-black);
    background-color: var(--color-white);
    transition: all .2s ease;
}

/* White Button, Black Icon */
.elementor-widget-button.icon-black .elementor-button .elementor-button-icon {
    color: var(--color-white);
    background-color: var(--color-black);
}

.e-loop__load-more .elementor-button:hover .elementor-button-icon,
.elementor-widget-button .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.icon-black .elementor-button:hover .elementor-button-icon {
    color: var(--color-main);
}

.elementor-widget-button .elementor-button:hover .elementor-button-text + .elementor-button-icon,
.elementor-widget-button.icon-black .elementor-button:hover .elementor-button-text + .elementor-button-icon {
    transform: rotate(-45deg);
}

/* IMAGE CAROUSEL */
.elementor-widget-image-carousel.slide-linear .swiper-wrapper{
	-webkit-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}

.elementor-widget-image-carousel.external-url a[href="#"] {
    pointer-events: none;
    cursor: default;
}

/* HOTSPOT IMAGE */
.elementor-element.elementor-widget-hotspot .e-hotspot {
	transform: translate(-50%, -50%);
}

.elementor-element.elementor-widget-hotspot .e-hotspot__label {
	display: none;
}

.elementor-element.elementor-widget-hotspot .e-hotspot--position-top .e-hotspot__tooltip {
	bottom: calc(100% + 16px);
}

@media screen and (min-width:768px) {

	.elementor-element.elementor-widget-hotspot .e-hotspot--position-top .e-hotspot__tooltip::after {
		content: '';
		width: 24px;
		height: 12px;
		background-color: var(--tooltip-color);
		-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 192 320 170"><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"></path></svg>');
		mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 192 320 170"><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"></path></svg>');
		mask-repeat: no-repeat;
		mask-size: 100% 100%;
		mask-position: center;
		display: block;
		position: absolute;
		left: 50%;
		bottom: -8px;
		transform: translateX(-50%);
	}
}


.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip {
	white-space: normal;
}

.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip p {
	margin-bottom: 0;
}

.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip p + p {
	margin-top: 12px;
}

.elementor-element.elementor-widget-hotspot .e-hotspot__tooltip img {
	display: block;
}

/* Loop Grid */
.elementor-widget-loop-grid .e-loop-nothing-found-message {
	padding: 0;
}

/* Icon-Box */
.elementor-widget-icon-box.elementor-position-inline-start .elementor-icon-box-icon {
	margin-top: 8px;
}

/* Icon-List */
.elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
    display: none;
}

.elementor-widget-loop-grid .referenz .elementor-widget-post-info .elementor-icon-list-icon {
	text-align: center;
}

/* Show on Sticky Effect */
@media screen and (min-width: 1025px) {
	html:not(.elementor-html) .sticky-show {
		opacity: 0;
		transform: translateY(48px);
		transition: opacity .2s ease, transform .4s ease;
	}

	html:not(.elementor-html) .sticky-show.elementor-sticky--active {
		opacity: 1;
		transform: translateY(0);
		transition: opacity .8s ease, transform .6s ease;
	}
}
