/*
Theme Name: Consileon Theme (Elementor Theme Basis)
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Consileon
Author URI: https://consileon.de
Description: Childtheme für Consileon.de
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.4.1760531132
Updated: 2025-10-15 14:25:32

*/

:root {
  /* Global Font Sizes */
/* @link https://utopia.fyi/type/calculator?c=320,13,1.125,1440,14,1.2,8,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
    
  --font-size-100: clamp(0.7222rem, 0.7202rem + 0.0099vw, 0.7292rem);
  --font-size-200: clamp(0.8125rem, 0.7946rem + 0.0893vw, 0.875rem);
  --font-size-300: clamp(0.9141rem, 0.8752rem + 0.1942vw, 1.05rem);
  --font-size-400: clamp(1.0283rem, 0.9621rem + 0.331vw, 1.26rem);
  --font-size-500: clamp(1.1569rem, 1.0554rem + 0.5073vw, 1.512rem);
  --font-size-600: clamp(1.3015rem, 1.1549rem + 0.7328vw, 1.8144rem);
  --font-size-700: clamp(1.4642rem, 1.2604rem + 1.0188vw, 2.1773rem);
  --font-size-800: clamp(1.6472rem, 1.3713rem + 1.3794vw, 2.6127rem);
  --font-size-900: clamp(1.8531rem, 1.4867rem + 1.8317vw, 3.1353rem);
    
  /* Global Box Shadow */
  --box-shadow-default: 0 20px 40px #00000024;

  /* Globale maximale Breite des Contents */
  --max-site-width: 1600px;
    
  /* 50% Full-Width Container Berechnung –  50% - halber Container-Gap */
  --mod-container-full:calc(50% - 24px/2);

  /* 50% Boxed-Width Container Berechnung –  was ist kleiner: 50% - halber Container-Gap oder halbe Seitenbreite */
  --mod-container-boxed:min(calc(50% - 24px/2), var(--max-site-width)/2);

  /* Globale Festlegung für Akzent und Caret */
  accent-color: var(--e-global-color-accent);
  caret-color: var(--e-global-color-accent);
    
  /* Globale Festlegung für Button Icons (Pfeile mit und ohne Kreis) */
  --button-transition:all 0.3s ease;
  --button-hover-position:translateX(10px);

  /* Globale Festlegung für Einrückungen */  
  --site-indent-10: 8%;
  --site-indent-20: 16%;

  /* Globale Festlegung für Inline-Padding */  
  --site-padding: 24px; /* Mobile left-right Padding */
  --section-padding: 40px; /* Mobile top-bottom Padding */
}

@media (min-width: 768px) {
  :root {
    --site-padding: 40px; /* Tablet left-right Padding */
	--section-padding: 60px; /* Tablet top-bottom Padding */
  }
}

@media (min-width: 1025px) {
  :root {
    --site-padding: 80px; /* Desktop left-right Padding */
	--section-padding: 80px; /* Desktop top-bottom Padding */
  }
}


/* Container Classes */
@media (min-width: 1025px) {
    .mod-con-full {
        width: var(--mod-container-full) !important;
    }
    
    .mod-con-boxed {
        width: var(--mod-container-boxed) !important;
    }  
}

/* Aspect-Ratio Classes */

.aspect-square, .aspect-1-1 {
  aspect-ratio: 1 / 1;
}

.aspect-4-3 {
  aspect-ratio: 4 / 3;
}

.aspect-16-9 {
  aspect-ratio: 16 / 9;
}

.aspect-16-10 {
  aspect-ratio: 16 / 10;
}


/* Global Setting */

@media (prefers-reduced-motion: no-preference) {
    :has(:target) {
        scroll-behavior: smooth;
        scroll-padding-top: 3rem;
    }
}

* {
    padding:0;
    margin:0;
    font-size: inherit;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
	scrollbar-gutter:stable;
	hanging-punctuation: first last;
}

body {
    min-height: 100svh;
    margin: auto !important;
}

img, picture, svg, video {
    display:block;
    max-width:100%;
    height:auto;
    vertical-align: middle;
    font-style: italic;
    background-repeat: no-repeat;
    background-size: cover;
    shape-margin: 1rem;
}

h1, h2, h3 {
	overflow-wrap: break-word;
}


/* Fokus-Styling für alle wichtigen Formelemente */
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible {
    outline: 2px solid var(--e-global-color-accent) !important;
    outline-offset: 2px;
}

/* sanfte Übergänge für bessere UX */
input,
textarea,
select,
button {
    transition: outline 0.2s ease, caret-color 0.2s ease;
}

/* Site-Padding */
/* ================= Nur äußere Container-Sektionen ================= */
header > *, section, footer > * {
	padding-inline:var(--site-padding) !important;
}

.section-padding {
	padding-block:var(--section-padding) !important;
}

.section-padding-s {
	padding-block:var(--section-padding-s) !important;
}

.section-padding-top {
	padding-top:var(--section-padding) !important;
}

.section-padding-bottom {
	padding-bottom:var(--section-padding) !important;
}

/* Erase Paddings */
/* ================= MOBILE ================= */
.px-m-0, .nopadding {
  padding-left:  0 !important;
  padding-right:  0 !important;
}
.pl-m-0 {
  padding-left:  0 !important;
}
.pr-m-0 {
  padding-right:  0 !important;
}

/* ================= TABLET ================= */
@media (min-width: 768px) and (max-width: 1024px) {
  .px-t-0, .nopadding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pl-t-0 {
    padding-left: 0 !important;
  }
  .pr-t-0 {
    padding-right: 0 !important;
  }
}

/* ================= DESKTOP ================= */
@media (min-width: 1025px) {
  .px-d-0, .nopadding {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pl-d-0 {
    padding-left: 0 !important;
  }
  .pr-d-0 {
    padding-right: 0 !important;
  }
}

/* ===== Basisklassen NUR Site-Padding ===== */
/* ========== MOBILE (unter 768px) ========== */
.pl-m-pad { padding-left: var(--site-padding) !important; }
.pr-m-pad { padding-right: var(--site-padding) !important; }
.px-m-pad { padding-left: var(--site-padding) !important;
            padding-right: var(--site-padding) !important; }

/* ========== TABLET (768px – 1024px) ========== */
@media (min-width: 768px) and (max-width: 1024px) {
    .pl-t-pad { padding-left: var(--site-padding) !important; }
    .pr-t-pad { padding-right: var(--site-padding) !important; }
    .px-t-pad { padding-left: var(--site-padding) !important;
                padding-right: var(--site-padding) !important; }
}

/* ========== DESKTOP (ab 1025px) ========== */
@media (min-width: 1025px) {
    .pl-d-pad { padding-left: var(--site-padding) !important; }
    .pr-d-pad { padding-right: var(--site-padding) !important; }
    .px-d-pad { padding-left: var(--site-padding) !important;
                padding-right: var(--site-padding) !important; }
}

/* ========== MOBILE (unter 768px) ========== */
/* --- ohne site-padding --- */
.pl-m-10p   { padding-left: var(--site-indent-10) !important; }
.pr-m-10p   { padding-right: var(--site-indent-10) !important; }
.px-m-10p   { padding-left: var(--site-indent-10) !important;
              padding-right: var(--site-indent-10) !important; }


/* --- mit zusätzlichem site-padding --- */
.pl-m-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important; }
.pr-m-10pplus   { padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }
.px-m-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important;
                  padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }



/* ========== TABLET (768px – 1024px) ========== */
@media (min-width: 768px) and (max-width: 1024px) {
    /* --- ohne site-padding --- */
    .pl-t-10p   { padding-left: var(--site-indent-10) !important; }
    .pr-t-10p   { padding-right: var(--site-indent-10) !important; }
    .px-t-10p   { padding-left: var(--site-indent-10) !important;
                  padding-right: var(--site-indent-10) !important; }

    .pl-t-20p   { padding-left: var(--site-indent-20) !important; }
    .pr-t-20p   { padding-right: var(--site-indent-20) !important; }
    .px-t-20p   { padding-left: var(--site-indent-20) !important; 
                  padding-right: var(--site-indent-20) !important; }

    /* --- mit zusätzlichem site-padding --- */
    .pl-t-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important; }
    .pr-t-10pplus   { padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }
    .px-t-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important;
                      padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }

    .pl-t-20pplus   { padding-left: calc(var(--site-indent-20) + var(--site-padding)) !important; }
    .pr-t-20pplus   { padding-right: calc(var(--site-indent-20) + var(--site-padding)) !important; }
    .px-t-20pplus   { padding-left: calc(var(--site-indent-20) + var(--site-padding)) !important;
                      padding-right: calc(var(--site-indent-20) + var(--site-padding)) !important; }
}


/* ========== DESKTOP (ab 1025px) ========== */
@media (min-width: 1025px) {
    /* --- ohne site-padding --- */
    .pl-d-10p   { padding-left: var(--site-indent-10) !important; }
    .pr-d-10p   { padding-right: var(--site-indent-10) !important; }
    .px-d-10p   { padding-left: var(--site-indent-10) !important; 
                  padding-right: var(--site-indent-10) !important; }

    .pl-d-20p   { padding-left: var(--site-indent-20) !important; }
    .pr-d-20p   { padding-right: var(--site-indent-20) !important; }
    .px-d-20p   { padding-left: var(--site-indent-20) !important;
                  padding-right: var(--site-indent-20) !important; }

    /* --- mit zusätzlichem site-padding --- */
    .pl-d-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important; }
    .pr-d-10pplus   { padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }
    .px-d-10pplus   { padding-left: calc(var(--site-indent-10) + var(--site-padding)) !important;
                      padding-right: calc(var(--site-indent-10) + var(--site-padding)) !important; }

    .pl-d-20pplus   { padding-left: calc(var(--site-indent-20) + var(--site-padding)) !important; }
    .pr-d-20pplus   { padding-right: calc(var(--site-indent-20) + var(--site-padding)) !important; }
    .px-d-20pplus   { padding-left: calc(var(--site-indent-20) + var(--site-padding)) !important;
                      padding-right: calc(var(--site-indent-20) + var(--site-padding)) !important;}
}


.elementor-widget-container p {
  text-wrap: pretty;
}

.elementor-widget-text-editor ul {
  list-style: square !important;
  padding-left: 1.3rem !important;
  margin-left: 0 !important;
  margin-bottom: 2rem !important;
}

.elementor-widget-text-editor li {
  margin-bottom: 0.5rem !important;
}

.elementor-widget-text-editor ul li::marker {
    color: var(--e-global-color-accent) !important;
    font-size: 1.1em !important;
}

section {
    overflow:hidden !important;
}

footer p {
    text-wrap: unset;
	max-width: unset;
}


h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
    margin: 0;
}

:is(h1, h2, h3, h4, h5, h6).highlight,
:is(h1, h2, h3, h4, h5, h6) .highlight, .highlight {
    color: var(--e-global-color-accent);
}

.post-tags {
  display: none;
}
/*
.elementor .elementor-widget-text-editor a {
    color:inherit;
    font-weight: 600;
    text-decoration:underline;
} */

.elementor .elementor-widget-text-editor a:hover {
    color:var(--e-global-color-accent);
} 

.highlight-hover:hover span {
    color: var(--e-global-color-accent) !important;
}

.elementor-icon-wrapper {
	line-height:0;
} 

.box-shadow, .hover-box-shadow:hover {
	box-shadow: var(--box-shadow-default) !important;
}

.section-header .e-n-menu-dropdown-icon {
    display: none !important;
}

.nav-bg {
    backdrop-filter: blur(70px);
    -webkit-backdrop-filter: blur(70px);
}

.nav-sub {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px); /* Fallback für Safari */
    background: #191920; /* Fallback-Farbe für alte Browser */
    background: linear-gradient(
        to bottom,
        rgba(25, 25, 32, 1) 0px,
        rgba(25, 25, 32, 1) 160px,
        rgba(25, 25, 32, 0.80) 100%
    );

    /* Optional für bessere Darstellung */
    background-repeat: no-repeat;
    background-size: cover;
    padding-inline: 2rem !important;
}

.nav-sub.full-width {
    width: 100% !important;
    left: 0 !important;
}

.nav-sub-menu :first-child > a{
    font-size: var(--font-size-300)!important;
    color: var(--e-global-color-accent) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--e-global-color-accent);
    margin-bottom: 16px;
}

.nav-sub-main a{
    font-size: var(--font-size-300)!important;
    color: var(--e-global-color-accent) !important;
    font-weight: 600 !important;
    margin-bottom: 16px;
}

@media (width < 1024px) {
    .mobile-nav-bg {
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px); /* Fallback für Safari */
        
        background: #191920; /* Fallback-Farbe für alte Browser */
        background: linear-gradient(
        to bottom,
        rgba(25, 25, 32, 1) 0px,
        rgba(25, 25, 32, 1) 160px,
        rgba(25, 25, 32, 0.80) 100%
    );
    
        /* Optional für bessere Darstellung */
        background-repeat: no-repeat;
        background-size: cover;
    }
    .mobile-nav-bg a {
    	font-weight:300 !important;
    }
}

/* Button Animation Klasse */

.mod-button .elementor-button-icon svg {
    width: 40px;
    transform: scale(0.8);
    transform-origin: center;
    z-index:1;
    fill: var(--e-global-color-b20ab44);
}

.mod-button .elementor-button-icon {
    border-radius: 50%;
    background-color: var(--e-global-color-accent);
}

.mod-button .elementor-button:hover .elementor-button-icon svg{
    fill: var(--e-global-color-b20ab44);
}

/* Mod-Button + White Red -> weißer Kreis + Roter Pfeil */
.mod-button.white-red .elementor-button-icon svg{
    fill: var(--e-global-color-accent)!important;  
}

.mod-button.white-red .elementor-button-icon {
    background-color:var(--e-global-color-b20ab44); 
}

/* Mod-Button + Outlined -> Border Kreis + Pfeil in Schriftfarbe */
.mod-button.outlined .elementor-button-icon svg{
    fill: inherit !important;  
}

.mod-button.outlined .elementor-button-icon {
    background-color:transparent;
	border: 1px solid currentColor;
}


    /* Mod-Button + Dark -> dunkler Button Kreis 
.mod-button.dark .elementor-button-icon svg{
      rect{
        fill:var(--e-global-color-128049b);        
    }
}

.mod-button.dark:hover .elementor-button-icon svg{
      rect{
        fill:var(--e-global-color-accent);        
    }
}*/




.elementor-button-content-wrapper {
	display:flex;
	align-items: center;

    .elementor-button-icon{
    transition: var(--button-transition) !important;
    }
    
    &:hover .elementor-button-icon{
        transform: var(--button-hover-position) !important;
        transition: var(--button-transition) !important;
    }
}

/*Logo Wechsel*/
/* bei dunklem Hintergrund -> helles Logo ausblenden, dunkles einblenden */
.logo-dark {
  display: none;
}

.logo-light {
	display:inline-block;
}

.header.light-bg .logo.dark-only, .single-post header > * .logo-light {
  display: none;
}
.header.light-bg .logo.light-only, .single-post header > * .logo-dark {
  display: inline-block;
}

/* Farben im Header */
.single-post header > * {
    margin-bottom:0 !important;
    background-color: var(--e-global-color-b20ab44)!important;
    box-shadow: none!important;
    .elementor-widget-container {
    border-color: var(--e-global-color-text) !important;}
}

.single-post .nav-bg nav {
    .e-n-menu-title-text:not(:hover):not(:focus-visible):not(.e-current), 
    .elementor-widget-icon:not(:hover):not(:focus-visible):not(.e-current) svg, 
    .elementor-widget-button:not(:hover):not(:focus-visible):not(.e-current) span, 
    .elementor-widget-n-menu .e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-icon svg {
        color: var(--e-global-color-text) !important;
        fill: var(--e-global-color-text) !important;
    }  
}

.hero-text {
	width: max(80ch, 50%);
}
	
/* Hero Content Box Animation Klasse */
.hero-c-box {
    --position-height: calc(100% - 60px);
    position: relative;
    overflow: hidden;
}
	
.hero-c-box:hover {
    filter: saturate(100%);
}
	
.hero-c-box .elementor-heading-title,
.hero-c-box .highlight {
    transition: color 0.3s ease !important;
}

.hero-c-box:hover .elementor-heading-title,
.hero-c-box:hover .highlight {
    color: white !important;
}
	
.hero-c-box::after {
    content: '';
    position: absolute;
    top: var(--position-height);
    right: 36px;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-color: var(--e-global-color-128049b);
    border-radius: 999px;
    transition:
        transform 0.3s ease-in-out,
        background-color 0.8s ease-in-out;
}
	
.hero-c-box:hover::after {
    background-color: var(--e-global-color-accent);
    transform: translate(-50%, -50%) scale(25);
    transition:
        transform 0.5s ease-in-out,
        background-color 0s ease-in-out;
}

	
.hero-c-box .elementor-widget-icon {
    top: calc(var(--position-height) - 18px);
    right: 38px!important;
}

.hero-c-box:hover .elementor-icon{
    transform: translateX(10px);
}

.hero-c-box {
    position: relative;
    overflow: hidden !important;
    transition: transform 0.3s ease;
}
	
.hero-c-box::before {
    content: '';
    position: absolute;
    inset: 0;
    background: inherit;
    filter: saturate(20%);
    z-index: 0;
    pointer-events: none;
    transition: filter 0.3s ease;
}
	
.hero-c-box:hover::before {
    filter: saturate(100%);
    transition: filter 0.3s ease;
}
	
.hero-c-box .shutter {
    min-height: var(--position-height);
    transition: min-height 0.3s ease-in-out !important;
}
	
.hero-c-box:hover .shutter {
    min-height:50%;
	transition: min-height 0.3s ease-in-out !important;
}


/* Zähler */   

.elementor-counter .elementor-counter-number-suffix {
    color: var(--e-global-color-accent);
    font-size: 0.6em;
    line-height: 1em;
	top:5px;
    position:relative;
}

.elementor-widget-counter.bubble {
    aspect-ratio: 1;
}

.elementor-widget-counter.bubble .elementor-counter {
height: 100%
}

.elementor-widget-counter.bubble .elementor-counter > * {
 flex: 0 0 auto!important;
 text-align: center;
}


/* Icon-Box */

.icon-box {
    cursor: default;
}

/* Basiszustand: Alles soll animierbar sein */
.icon-box .elementor-heading-title,
.icon-box .elementor-widget-icon .elementor-icon,
.icon-box .elementor-widget-icon .elementor-icon svg {
    transition: all 0.3s ease;
}

/* Hover: Farben sofort, Rest bleibt animiert */
.icon-box:hover {
    cursor: pointer;
}

.icon-box:hover .elementor-heading-title {
    color: var(--e-global-color-accent) !important;
    transition: none;
}

.icon-box:hover .elementor-widget-icon .elementor-icon {
    border-color: var(--e-global-color-accent) !important;
    transform: var(--button-hover-position) !important;
    transition: transform 0.3s ease !important;
}

.icon-box:hover .elementor-widget-icon .elementor-icon svg {
    fill: var(--e-global-color-accent) !important;
    transition: none;
}

/* Cards */ 

.card:hover .elementor-heading-title {
    color: var(--e-global-color-accent) !important;
    transition: var(--button-transition);
}

.card:hover .elementor-widget-icon:last-of-type .elementor-icon{
    background-color: var(--e-global-color-accent) !important;
    transform: var(--button-hover-position) !important;
    transition: var(--button-transition) !important;
    svg {
        fill: var(--e-global-color-b20ab44) !important;
    }
}

/* Lösungen Slider */

.mod-slider .elementor-swiper, .mod-slider .elementor-slides-wrapper, .mod-slider .swiper-slide {
    height:100%!important;
}


.mod-slider .swiper-slide-inner {
    background: #33434A;
    height: fit-content;
    padding:24px 24px 24px 36px!important;
    position: absolute;
    justify-content:left!important;
    text-align:left!important;
    margin-bottom:0!important;
   .elementor-slide-heading {
    margin:0!important;
    }

}

.mod-slider .elementor-swiper-button {
    position: absolute;
    transform:translateY(0)!important;
    top:unset!important;
    bottom:17.5px;
    padding:2px;
    overflow: hidden;
    opacity:0.6;
    transition: opacity 0.3s ease;
    border-radius:50%;
    background-color:#ffffff10;
}

.mod-slider .fadeInRight{
    animation-name: fadeIn;
}

.mod-slider .elementor-swiper-button:hover {
    opacity:1;
    background-color:var(--e-global-color-accent)!important;
}

.mod-slider .elementor-swiper-button-prev {
    left:calc(100% - 120px)!important;
}

.mod-slider .elementor-swiper-button-next{
    right:24px!important;
}


/* News Loop Grid */   
  
.news-feature, .news-loop {
    position:relative !important;
}

/* Standard-Loop-Items */
.news-loop .e-loop-item {
    grid-column: span 3;
}

@media (max-width:1024px) {
    .news-loop .e-loop-item {
    grid-column: span 4;
    }
}

@media (max-width:767px) {
    .news-loop .e-loop-item {
        grid-column: span 6;
    }
}

.news-feature .e-loop-item img, 
.news-loop .e-loop-item img {
    aspect-ratio: 16/10;
    height:100% !important;
    object-fit: cover;
    object-position: center center;
}

.news-feature .e-loop-item .elementor-heading-title, 
.news-loop .e-loop-item .elementor-heading-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-feature .e-loop-item .elementor-widget-theme-post-excerpt,
.news-loop .e-loop-item .elementor-widget-theme-post-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width: 768px) {
    .news-feature .e-loop-item::before {
        content: "";
        position: absolute;
        top: 0;
        right: calc(var(--site-padding) * -1);
        width: 500px;
        height: 100%;
        background-color: var(--e-global-color-accent); 
    }

}


.mod-image .elementor-widget-image {
  position: relative;
  &::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #6D8C9C;
    mix-blend-mode: color;
    pointer-events: none;
    transition: background-color 0.5s ease-in-out;
  }

  img {
    filter: contrast(150%);
    transition: filter 0.5s ease-in-out, transform 0.5s ease-in-out !important;
  }

  &:hover {
    &::after {
      background-color: transparent;
    }
    img {
      filter: contrast(100%);
      transform: scale(1.1);
    }
  }
}

.has-post-thumbnail .elementor-widget-image {
  overflow:hidden;
}


.news-feature .has-post-thumbnail .elementor-icon,
.news-loop .has-post-thumbnail .elementor-icon {
        transition: var(--button-transition);
}

.news-feature .has-post-thumbnail:hover,
.news-loop .e-loop-item.has-post-thumbnail:hover {
    box-shadow: var(--box-shadow-default);
    .elementor-icon {
        transform: var(--button-hover-position);
    }
    &:not(:first-of-type) a .elementor-heading-title,
    &:not(:first-of-type) a .elementor-icon{
        color: var(--e-global-color-accent);
        fill: var(--e-global-color-accent);
        border-color: var(--e-global-color-accent);
    }
}

/* Event Element */

.event-list {
    overflow:hidden;
}

.event-list .e-loop-item:hover {
    .elementor-heading-title{
        color: var(--e-global-color-accent)!important;
    }
    .elementor-icon{
        transform: translateX(10px);
        fill: var(--e-global-color-accent)!important;
    }
}
    
.event-list h2 {
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-list .event-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;    
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.event-list.white {
	.event-excerpt {
		color:var(--e-global-color-b20ab44);
	}
	
	.elementor-icon svg {
		fill:var(--e-global-color-b20ab44)!important;
	}
	a {
		border-color:white !important;
	}
	h2 {
	color:white !important;
	}
}

/* Ansprechpartner */

.mod-icon-btn .elementor-icon:hover{
    box-shadow: var(--box-shadow-default);
    cursor: pointer;
}

.mod-icon-btn a[href=""],
.mod-icon-btn a[href="#"],
.mod-icon-btn a:not([href]) {
  pointer-events: none;
  cursor: default;
    display: none;
  opacity: 0.3;
  filter: grayscale(1);
  transition: none;
}   

/* Auszeichnungen Karussell */

.mod-swiper .swiper-wrapper {
    align-items:flex-end;
}

.mod-swiper .swiper-slide .elementor-carousel-image {
    filter: saturate(0);
    background-repeat: no-repeat;
    transform-origin: center bottom;
    transform: scale(0.6);
	transition: transform 1s ease, filter 1s ease, opacity 1s ease;
    opacity:0.5;
}

.mod-swiper .swiper-slide-next .elementor-carousel-image {
    filter: saturate(0.1);
    opacity:0.8;
    transform: scale(0.8);
}

.mod-swiper .swiper-slide-active .elementor-carousel-image {
    filter: saturate(1);
    transform: scale(1);
    opacity:1;
}

.mod-swiper .swiper-slide-prev .elementor-carousel-image {
    opacity:0;
	transition: opacity 0s ease;
}



/* Beitragsseiten */
/* ===================================================================================== */



@media (min-width: 1440px) {
	body.single-post {
		width: min(90%, var(--max-site-width));
		box-shadow: 0px 0px 40px #00000020;
		background-color: #00000005 !important;
	}	
	/*Anpassung TQ für neue Struktur der Beiträge*/
	.wp-singular article section:not(.e-con-boxed).section-padding-no-filler 
	{
		padding-top:40px;
		padding-bottom:40px;
		padding-inline-start: calc(30% + 47px) !important;
	}	
}
@media (min-width: 768px) {
/*Anpassung TQ für neue Struktur der Beiträge*/
	.wp-singular article section:not(.e-con-boxed).section-padding-no-filler 
	{
		padding-top:40px;
		padding-bottom:40px;
		padding-inline-start: calc(30% + 47px) !important;
	}	
}
.partner-branchen {
	padding:20px !important;
	padding-inline-start: 120px !important;
	background-color:#CD102E;
	color:#fff !important;
}
.partner-branchen .elementor-widget-text-editor h3,
.partner-branchen .elementor-widget-text-editor p{
	color:#fff !important;
}
.wp-singular article .elementor-widget-text-editor h2,
.wp-singular article .elementor-widget-text-editor h3,
.wp-singular article .elementor-widget-text-editor h4{
	margin:50px 0 25px 0;		
	font-family: var(--e-global-typography-1318ada-font-family), Sans-serif;
    font-size: var(--e-global-typography-1318ada-font-size);
    font-weight: var(--e-global-typography-1318ada-font-weight);
    line-height: var(--e-global-typography-1318ada-line-height);
    color: var(--e-global-color-text);
}
.wp-singular article .elementor-widget-text-editor h3{
	font-size: 1.5em;
}
.elementor .elementor-widget-text-editor a {
	color:#CD102E;
}

.elementor .elementor-widget-text-editor a:hover {
	color:black;
}
.wp-singular article .elementor-widget-text-editor h4{
	font-size: 1.2em;
}
.wp-singular article .elementor-widget-text-editor h2:first-child {
		margin:5px 0 25px 0;
}
.wp-singular article .elementor-widget-container p:last-child {		
		margin-bottom:80px;	
}
.wp-singular article .elementor-widget-text-editor p {
		text-align:left !important;
		line-height: 1.4;
		margin:0px 0 30px 0;		
	    margin-block-end: 16px;
}

.wp-singular article section:not(.e-con-boxed):nth-child(2).section-padding-no-filler
{
		padding-top:60px;
}

.beitrag-hero.darken::before {
	content:'';
	background-image:linear-gradient(5deg, var( --e-global-color-secondary ) 25%, var( --e-global-color-00f20da ) 50%);
	opacity:0.66;
	mix-blend-mode: multiply;
}

@media (min-width: 768px) {
    .beitrag-hero {
        aspect-ratio: 16 / 10;
    }
}

.elementor-icon-wrapper {
    line-height: 0;
}

.go-back {
    cursor:pointer;
}

.elementor-post-info__terms-list {
    color:transparent;
}

.elementor-post-info__item {
    word-break:keep-all;
}

.tag-btn span{
    display:flex;
    gap: 0.5rem;
}

.tag-btn a{
    background: var(--e-global-color-5f06d04);
    border-radius: 50px;
    padding: 1px 12px 0px;
    opacity:0.5;
    transition: opacity 0.3s ease, color 0.3s ease 0.3s, background 1s ease;
    display:inline-block !important;
    margin:2px 0;
    border: 1px solid transparent;
}

.tag-btn a:hover{
    background: var(--e-global-color-b20ab44);
    opacity:1;
    color: var(--e-global-color-accent) !important;
    border: 1px solid var(--e-global-color-accent);
    transition: opacity 0.3s ease, color 0.3s ease, background 0.3s ease;
}

.elementor-post-navigation span {
    transition: .4s ease-in-out !important;
}

.elementor-post-navigation__prev:hover span, .elementor-post-navigation__next:hover span {
    color:var(--e-global-color-accent) !important;
}

.elementor-post-navigation__prev .post-navigation__arrow-prev {  
    transform: translateX(6px);
}

.elementor-post-navigation__next .post-navigation__arrow-next {  
    transform: translateX(-6px);
}

.elementor-post-navigation__prev:hover .post-navigation__arrow-prev {  
    transform: translateX(0px);
}

.elementor-post-navigation__next:hover .post-navigation__arrow-next {
    transform: translateX(0px);
}

.hero-branchen {
	
}
.hero-branchen .e-con-inner {
	max-width:100vw !Important;
	min-height:100vh;
}

.hero-branchen-text {
	position:relative;
	width: max(80ch, 35%);
	margin-top:15rem;
	margin-left:20rem !important;
	margin-bottom:1rem;
}
.hero-branchen-text .elementor-widget-container h2 {
	text-transform:uppercase !important;
	margin-bottom:2rem;
	font-size:38px;
}
.hero-branchen-text .elementor-widget-container p {
	margin-left: 6rem;
    line-height: 1.6;
	font-size:17px;
	margin-bottom:1rem;
}
