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

/*Colors*/
/*
 * Violet 100 var(--awb-color1)
 * Violet 200 var(--awb-color2) #BAB2FD
 * Violet 300 var(--awb-color3)
 * 
 * Violet 900 var(--awb-color5)
 * 
 * Brown 50 var(--awb-color6)
 * Brown 100 var(--awb-color7)
 * Brown 200 var(--awb-color8)
 * Brown 400 var(--awb-custom_color_1)
 * Brown 600 var(--awb-custom_color_2)
 * Brown 800 var(--awb-custom_color_3)
 * 
 */


/*General*/
body { hyphens: auto; }
strong, b {     font-family: "Telegraf Bold"; }
.fusion-text em { font-style: normal; color: var(--awb-color3); }
.fusion-text ul { list-style: none; padding:0; margin:0; }
.fusion-text ul li { display: flex; align-items: flex-start;  }
.fusion-text ul li:before { content: ''; width: 12px; height: 12px; background-color: var(--awb-color2); margin-right: 12px;margin-top: 4px; flex: 0 0 auto;  }
.fusion-tb-categories a { pointer-events: none; }

@media only screen and (max-width: 810px) {
	.big-text { font-size: 24px !important; line-height: 120% !important; }
}

/*Header*/

svg.logo-svg #text { fill: #473B2E; }
svg.logo-svg #tp { fill: #FDFAF1; }

.color_theme_violet svg.logo-svg #text { fill: #201937; }
.color_theme_violet svg.logo-svg #tp { fill: #FDFAF1; }
svg.logo-svg.mobile-menu #text { fill: #FDFAF1; }
svg.logo-svg.mobile-menu #tp { fill: #BAB2FD; }

.color_theme_violet #wrapper  { background-color: var(--awb-color2) !important; } 
.color_theme_violet #wrapper .fusion-tb-header>.fusion-fullwidth { background-color: transparent !important; } 
.color_theme_violet #wrapper .fusion-tb-header>.fusion-fullwidth.fusion-sticky-transition  { background-color: var(--awb-color2) !important; } 

.home #hero:before { content: ''; position: absolute; bottom: -80px; right: 50%; margin-right: -100px; background: url(/wp-content/uploads/2026/02/TePm-Logo-3D-Raster.svg) no-repeat; background-size: cover; width: 687px; height: 666px; }

@media only screen and (max-width: 810px) {
	.home #hero:before { width: 296px; height: 287px; right: -70px; bottom: auto; top: -150px; margin-right: 0; }
}

#wrapper .fusion-tb-header .awb-menu__main-ul_row { align-items: center; gap: 40px; }
#wrapper .fusion-tb-header .awb-menu__main-ul_row a { position: relative; } 

#wrapper .fusion-tb-header .awb-menu__main-ul_row li:not(.menu-button) a:before { content: ''; transition: all .3s; }
#wrapper .fusion-tb-header .awb-menu__main-ul_row li:not(.menu-button) a:hover:before, #wrapper .fusion-tb-header .awb-menu__main-ul_row li.current-menu-item:not(.menu-button) a:before, #wrapper .fusion-tb-header .awb-menu__main-ul_row li.current-page-ancestor:not(.menu-button) a:before  { position: absolute; content: ''; display: block; height: 1px; width: 100%; background-color: var(--awb-custom_color_3); bottom:0 ; left:0; transition: all .3s; }
#wrapper .fusion-tb-header .awb-menu__main-ul_row li:not(.menu-button) a:focus-visible { outline-offset: 20px; }
#wrapper .fusion-tb-header .menu-button a, .awb-menu.mobile-menu-wrapper .menu-button a { border: 4px solid var(--awb-color6); padding: 12px 20px; transition: border-color .3s; }
.color_theme_violet #wrapper .fusion-tb-header .menu-button a {border-color: var(--awb-color1); }
#wrapper .fusion-tb-header .menu-button a:hover, .mobile-menu-wrapper .menu-button a:hover { border-color: var(--awb-custom_color_1); }
#wrapper .fusion-tb-header .menu-button a:focus-visible, .mobile-menu-wrapper .menu-button a:focus-visible { outline-offset: 4px; }
.mobile-menu-wrapper .menu-button { justify-content: flex-end; }
.awb-menu.mobile-menu-wrapper .menu-button a { width: auto; border-color: var(--awb-color2); }

.burger-icon img { width: 27px; height: 20px; }



/* Sticky header height fix */
#wrapper .fusion-tb-header .fusion-sticky-container { transition: all .3s;  }
#wrapper .fusion-tb-header .fusion-sticky-container.fusion-sticky-transition { padding-top: 20px; padding-bottom: 20px; }

/*Headings*/
.color_theme_violet #wrapper #hero h1 { color: var(--awb-color6); }
.color_theme_violet #wrapper #hero h1 em { font-style: normal; color: var(--awb-color1); }
h1 em { font-style: normal; color: var(--awb-custom_color_2); }
h2 em { font-style: normal; color: var(--awb-custom_color_2); }


/*Toggle/Accordion*/
.accordian.fusion-accordian .panel-group .fusion-panel { border: 1px solid var(--awb-color8); padding: 0; border-bottom: 0; }
.accordian.fusion-accordian .panel-group .fusion-panel:hover { border: 1px solid var(--awb-color8); border-bottom: 0;}
.accordian.fusion-accordian .panel-group>div:nth-last-child(1 of .fusion-panel) { border-bottom: 1px solid var(--awb-color8);}
.accordian.fusion-accordian .panel-group .fusion-panel .fusion-toggle-icon-wrapper { display: none; }
.accordian.fusion-accordian .panel-heading .panel-title a { padding: 40px 40px 40px 70px; border-left: 3px solid transparent;  }
.accordian.fusion-accordian .panel-heading .panel-title a:focus-visible { outline-offset: 3px; }
.accordian.fusion-accordian .panel-group .fusion-panel:hover .panel-title a { border-color: var(--awb-color8);}
.accordian.fusion-accordian .panel-heading .panel-title a .counter { font-size: 12px; line-height: 140%; position: absolute; color: var(--awb-color5); left: -30px; top:5px; }
.accordian.fusion-accordian .panel-heading .panel-title a.active, .accordian.fusion-accordian .fusion-panel:hover .panel-heading .panel-title a.active { background-color: var(--awb-color1); border-color: var(--awb-color2); }
.accordian.fusion-accordian .panel-group .panel-title .fusion-toggle-heading { margin: 0; color: var(--awb-color5);  position: relative; }
.accordian.fusion-accordian .panel-group .panel-body { color: var(--awb-color5); padding: 0 40px 40px 70px; transition-property: color, background-color, border-color; transition-duration: .2s; transition-timing-function: linear;   }
.accordian.fusion-accordian .panel-group .collapse.in .panel-body, .accordian.fusion-accordian .panel-group .collapsing .panel-body { background-color: var(--awb-color1); border-left: 3px solid var(--awb-color2); }

@media only screen and (max-width: 810px) {
	.accordian.fusion-accordian .panel-heading .panel-title a, .accordian.fusion-accordian .panel-group .panel-body { padding: 20px; }
	.accordian.fusion-accordian .panel-heading .panel-title a { padding-top: 42px;}
	.accordian.fusion-accordian .panel-heading .panel-title a .counter { top: -14px; left:0; }
}

/*Buttons*/
.fusion-button { position: relative; }
.fusion-button:before { position: absolute; content: ''; display: block; height: 4px; width: 100%; background-color: var(--awb-custom_color_1); bottom:0; left:0; transition: all .3s; }
.fusion-button:hover:before { height: 8px; }
.fusion-button:focus-visible { outline-color: var(--awb-color3); outline-offset: 2px;   }
.color_theme_violet #hero .fusion-button:before { background-color: var(--awb-color1); }

.violet-button.fusion-button:before { background-color: var(--awb-color3); }

.fusion-body .fusion-button-default-size.white-button { background: var(--awb-color6); padding: 12px 20px !important; font-family: "Telegraf Regular" !important; border: 0 !important; color: var(--awb-color5);  }
.fusion-body .fusion-button-default-size.white-button:before { display: none;  }


/*Page Teaser*/
@media only screen and (max-width: 1275px) {
	.page-teaser>.fusion-builder-row { align-items: stretch !important; }
	.page-teaser .fusion-layout-column .fusion-column-wrapper>.fusion-builder-row { flex-direction: column !important; height: 100%; }
	.page-teaser .fusion-layout-column .fusion-column-wrapper>.fusion-builder-row .fusion-layout-column  { width: 100% !important;  }
	.page-teaser .fusion-layout-column .fusion-column-wrapper>.fusion-builder-row .fusion-layout-column:nth-child(2) { flex-grow: 1; }
}

/*Kundenlogos*/
.kundenlogos { display: flex; justify-content: space-between; flex-wrap: wrap;  }
.kundenlogos .logo { background: #ffffff; display: flex; width: 18%; min-height: 70px; padding: 30px 70px; justify-content: center; align-items: center; margin-bottom: 2%; }

@media only screen and (max-width: 1500px) { 
	.kundenlogos .logo { padding: 20px 30px; }
}
@media only screen and (max-width: 1275px) {
	.kundenlogos {justify-content: center; gap: 2%;}
	.kundenlogos .logo { padding: 20px 30px; width: 31%; margin-bottom: 2%;  }
}

@media only screen and (max-width: 810px) { 
	.kundenlogos {justify-content: center; gap: 4%;}
	.kundenlogos .logo {width: 48%; padding: 10px 30px; margin-bottom: 4%;    }
}

/*Portfolio*/
.projekte-overview-cards .fusion-grid { justify-content: center; }
.projekt-teaser-overview .fusion-column-wrapper>.fusion-builder-row { flex-grow: 1 !important; }
.projekt-teaser-overview .fusion-column-wrapper>.fusion-builder-row > .fusion-layout-column > .fusion-column-wrapper > .fusion-text { flex-grow: 1; }

/*Portfolio Homepage*/
.projekte-homepage-teaser .fusion-column-wrapper{ position: relative; }
.projekte-homepage-teaser {  }
.projekte-homepage-teaser .projekt-titel { position: absolute; left: 0; bottom: 0; padding: 12px; width: 100%; z-index: 10; text-align: left; }
.projekte-homepage-teaser .projekt-titel p { padding: 0 !important; margin: 0 !important; }
.homepage-slick-projekte.awb-swiper {  overflow: visible;  }
.homepage-slick-projekte .swiper-pagination-horizontal.swiper-pagination-bullets { margin-top: 104px; position: static; justify-content: flex-start; }
.homepage-slick-projekte .swiper-pagination-bullet { height: 16px; width: 16px; border-radius: 0; background-color: var(--awb-color7); }
.homepage-slick-projekte .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: var(--awb-custom_color_1); }
#wrapper .homepage-slick-projekte .awb-swiper-button-next, .homepage-slick-projekte .awb-swiper-button-prev { bottom: -60px; right: 0; background-color: var(--awb-color7); opacity: 1; top: auto; left: auto;  }
#wrapper .homepage-slick-projekte .awb-swiper-button-next:hover, #wrapper .homepage-slick-projekte .awb-swiper-button-prev:hover { background-color: var(--awb-custom_color_1); }
.homepage-slick-projekte .awb-swiper-button-prev { margin-right: 68px; }
#wrapper .homepage-slick-projekte .awb-swiper-button-next i, #wrapper .homepage-slick-projekte .awb-swiper-button-prev i { display: none; }
#wrapper .homepage-slick-projekte .awb-swiper-button-next svg, #wrapper .homepage-slick-projekte .awb-swiper-button-prev svg { width: 25px; height: 25px; }
#wrapper .homepage-slick-projekte .awb-swiper-button-next:hover svg path, #wrapper .homepage-slick-projekte .awb-swiper-button-prev:hover svg path { fill: #473B2E;  }
#wrapper .homepage-slick-projekte .awb-swiper-button-next:hover, #wrapper .homepage-slick-projekte .awb-swiper-button-prev:hover { outline-offset: 3px; }

#portfolio-content-wrapper>.fusion-fullwidth>.fusion-builder-row{ max-width: 1778.4px !important; }


@media only screen and (max-width: 810px) { 
	#wrapper .homepage-slick-projekte .awb-swiper-button-next, .homepage-slick-projekte .awb-swiper-button-prev  { bottom: -40px; width: 48px; height: 48px;  }
	#wrapper .homepage-slick-projekte .awb-swiper-button-next svg, #wrapper .homepage-slick-projekte .awb-swiper-button-prev svg { height: 24px; width: 24px;  }

	
}


/*Footer*/
.footer-column p { padding: 0; margin: 0;  }
.fusion-tb-footer .footer_svg { width: 100%;  }
.fusion-tb-footer .footer_svg img { width: 100% !important;  }
.fusion-tb-footer a span, .fusion-tb-footer a { position: relative; }
.fusion-tb-footer a span:before,.fusion-tb-footer .fusion-text a:before {content:''; transition: all .3s; }
.fusion-tb-footer a:hover span:before,.fusion-tb-footer .fusion-text a:hover:before { position: absolute; content: ''; display: block; height: 1px; width: 100%; background-color: var(--awb-color6); bottom:-1px; left:0; transition: all .3s; }
#logo3d_footer {position: absolute; right: 0; top: -80px; transform: translate(0, -50%) }
@media only screen and (max-width: 810px) {
	#logo3d_footer { top: -40px; right: 16px;  }
	.footer-column .fusion-column-wrapper  { flex-direction: column !important; gap: 20px !important;  }
	.row-reverse-mobile>.fusion-column-wrapper { flex-direction: row-reverse !important; }
}
