/* 
 Theme Name:     AWEOS
 Author:         AWEOS GmbH
 Author URI:     https://aweos.de/
 Template:       Divi
 Version:        1.0
 Description:    AWEOS Divi Child Theme 
*/ 


/* ########## Roboto font ########### */
/* roboto-300 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('./fonts/roboto-v48-latin-300.woff2') format('woff2');
}

/* roboto-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('./fonts/roboto-v48-latin-regular.woff2') format('woff2');
}

/* roboto-italic - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: url('./fonts/roboto-v48-latin-italic.woff2') format('woff2');
}

/* roboto-500 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('./fonts/roboto-v48-latin-500.woff2') format('woff2');
}

/* roboto-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('./fonts/roboto-v48-latin-700.woff2') format('woff2');
}

/* roboto-900 - latin */
@font-face {
	font-display: swap;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('./fonts/roboto-v48-latin-900.woff2') format('woff2');
}

/* ### Apply Roboto font globally ### */
body, 
.et_pb_module,
.et_pb_text,
.et_pb_blurb,
h1, h2, h3, h4, h5, h6,
p, a, div,
input, textarea, select,
button {
    font-family: 'Roboto', Arial, sans-serif !important;
}
h2 {
	font-size: 28px !important;
}
h3 {
	font-size: 22px !important;
	padding-bottom: 10px;
	padding-top: 20px;
}

p {
	padding-bottom: 10px;
	font-size: 16px;
}
ul {
	padding-left: 20px;
	font-size: 16px;
}

/* ### Remove comments and category from blog posts ### */
.et_pb_title_meta_container .comments-number,
.et_pb_title_meta_container a[rel="category tag"] {
    display: none;
}
.et_pb_title_meta_container {
    font-size: 0;
}
.et_pb_title_meta_container span, 
.et_pb_title_meta_container a {
    font-size: 16px;
}

/* ### Vertical line with dot ### */
.dot-right-bottom:after,
.dot-left-top:after,
.dot-left-bottom:after,
.dot-right-top:after,
.sub-page-dot.dot-right-bottom:after {
    color: #c6041f;
}
.dot-right-bottom-plate:after {
	color: #074089 !important;
}
.dot-right-bottom-extruder-technology:after {
	color: #ec921e !important;
}
.dot-right-bottom-industrial-services:after {
	color: #4bb033 !important;
}


/* ### Border bottom line dropdown menu ### */
.de-custom-menu .nav li li {
    border-top: 1px solid rgba(0, 0, 0, 0.1); 
}

.header-v2 .de-custom-menu .nav li li,
.header-v3 .de-custom-menu .nav li li,
.header-v4 .de-custom-menu .nav li li {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	color: #c6041f; 
	background: #f1f1f1; 
}

/* ### Slide icons color - home page ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	background-color: #c6041f; 
	border: 1px solid #c6041f; 
    color: #fff; 
}

.slide-active .et_pb_icon_wrap .et-pb-icon,
.slide-icon:hover .et_pb_icon_wrap .et-pb-icon {
	color: #fff !important; 
}

/* ### Service card V2 ### */
.card-overlay-triangle { 
	position: relative; 
}

.card-overlay-triangle:before {
	background-color: #c6041f; 
}
.card-overlay-triangle-plate:before {
	background-color: #074089 !important;
}
.card-overlay-triangle-extruder:before {
	background-color: #ec921e !important;
}
.card-overlay-triangle-industrial-services:before {
	background-color: #4bb033 !important;
}

/* Card 1 - Pantone 661 C (Blue) */
.active-card-v2 .card-color-1.service-card-v2:before {
	background-color: #074089 !important;
}

/* Card 2 - Pantone 143 C (Orange) */
.active-card-v2 .card-color-2.service-card-v2:before {
	background-color: #ec921e !important;
}

/* Card 3 - Pantone 369 C (Green) */
.active-card-v2 .card-color-3.service-card-v2:before {
	background-color: #4bb033 !important;
}

.card-color-1.card-overlay-triangle:after {
	content: var(--capicard-label-more-plate, ""); 
    color: #ffffff;
	font-size: 16px;
}

.card-color-2.card-overlay-triangle:after {
	content: var(--capicard-label-more-extruder, ""); 
    color: #ffffff; 
	font-size: 16px;
}

.card-color-3.card-overlay-triangle:after {
	content: var(--capicard-label-more-industrial, ""); 
    color: #ffffff; 
	font-size: 16px;
}

/* ### Person module ### */
.person-module .et_pb_member_social_links {
    background-color: #c6041f; 
}

.person-module .et_pb_team_member_image:before {
	content: ""; 
	background-color: rgba(0, 0, 0, 0.74); 
    color: #fff;
}

/* Removed 09.09.2026: six quote overlays for .person-module-1 to -6. The numbered variants are
   used on no page and no layout, only the base class .person-module is, and four of the six
   carried the literal placeholder "Zitat 3" to "Zitat 6". Dead rules with German text that no
   translation layer can reach; they would have been cloned four times. */

/* ### Blog fullwidth ### */
.blog-fullwidth article {
	border-bottom: 5px solid #c6041f !important; 
}

.blog-sidebar .et_pb_widget {
    border-bottom: 5px solid #c6041f; 
	background-color: #fff; 
}

.blog-sidebar .et_pb_widget ul li::before {
    color: #c6041f;	
}

/* ### Header V2 ### */
.header-v2 .header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    border-left: 1px solid #767676; 
}

/* ### Header V4 ### */
.header-v4 .de-custom-menu li.current-menu-item,
.header-v4 .de-custom-menu li:hover {
    background-color: #c6041f;	
}

.header-v4 .de-custom-menu.et_pb_menu ul li.current-menu-item a,
.header-v4 .de-custom-menu.et_pb_menu ul li:hover a {
	color: #fff !important;
	opacity: 1;
}

/* ### Menu ### */

.header-menu-button {
	min-width: 150px;
}

.header-menu .et_pb_menu_inner_container {
	height: 100%;
}

.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0;
    border-left: 1px solid #e1e1e1;
    padding: 0px 20px;
}

/* Add right border to the last menu item so the menu has an end line */
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li:last-child {
    border-right: 1px solid #e1e1e1;
}

.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
    align-self: center;
}

.header-column {
	display:flex;
}

.header-menu {
	display: flex;
    align-items: center;
}

.de-custom-menu,
.et_pb_menu_inner_container {
	width: 100%;
}

.blurb-header-phone .et_pb_blurb_content {
	display: flex;
    justify-content: flex-end;
	align-items: center;
}

.blurb-header-phone .et_pb_main_blurb_image {
	margin-bottom: 0px;
}

.blurb-header-phone h4.et_pb_module_header {
	padding-bottom: 0px;
}

.top-custom-header {
	display: flex;
    align-items: center;
}

@media (max-width: 980px) {
.de-custom-menu.et_pb_menu .et_mobile_nav_menu {
    float: right;
}}

.header-slide-in-icon .et_pb_icon_wrap  {
	height: 100%;
	display: flex;
    align-items: center;
}

/* COMMENTED OUT 2026-05-04 (Posniak: blur störend, kein Verdunklungseffekt im Hero gewünscht)
.hero-home-column-1 {
	-webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
*/

.de-custom-menu .et-menu li li.menu-item-has-children>a:first-child:after {
    top: 12px !important;
}

/* ### Menu header V4 ### */
.header-v4 .de-custom-menu li {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
}

.header-v4 .de-custom-menu {
	padding-right: 0px !important;
}

/* ########## Dropdown menu ########### */

.de-custom-menu.et_pb_menu .et-menu-nav>ul ul {
    padding: 0px 0 !important;
	border-radius: 8px;
}

.de-custom-menu .nav li li {
	padding: 0 0px !important;
}

.de-custom-menu .nav li ul {
    width: 240px;
	top: 0;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu {
	width: 80% !important;
	left: 50% !important;
	transform: translateX(-50%);
    padding: 25px 30px 50px 30px !important;	
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-height: 90vh;
	overflow-y: auto;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li {
	width: 100% !important;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > a {
	font-size: 18px !important;
	font-weight: 600;
	padding: 0 0 8px 0 !important;
	margin-bottom: 10px;
	display: block;
	color: #333;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > a {
	padding: 5px 0 0px 15px !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 500;
	color: #555;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu {
	margin-top: 0px;
	margin-bottom: 5px;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li > a {
	padding: 4px 0 0px 30px !important;
	margin: 0 !important;
	font-size: 14px !important;
	font-weight: 500;
	color: #555 !important;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li > a {
	padding: 0px 0 0px 45px !important;
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 400;
	color: #666 !important;
	line-height: 22px;
}

/* ### Mega Menu - Elements with nested sub-menu ### */
.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li.has-submenu > a {
	margin-bottom: 0px !important;
}

.de-custom-menu .nav li.mega-menu > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu > li.has-submenu > ul.sub-menu {
	margin-top: 2px;
	margin-bottom: 8px;
	padding-left: 0;
}

.de-custom-menu .nav li.mega-menu .nav li li,
.de-custom-menu .nav li.mega-menu ul.sub-menu li li {
	border-top: none !important;
}

.de-custom-menu .nav li.no-border-top {
	border-top: none !important;
}

.de-custom-menu .et-menu li li a {
    width: 240px !important;
	padding: 12px 20px;
	font-size: 14px !important;
}

.de-custom-menu .nav li li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.de-custom-menu .fas {
	padding-right: 10px;
}

.et-menu-nav li.mega-menu>ul>li>a:first-child {
	border-bottom: 1px solid #e1e1e1;
}
/* ### General ### */

@media (max-width: 980px) {
.remove-margin-column {
	margin-bottom: 0px !important;
}}

/* ### Logos row ### */
@media (min-width: 981px) {
.logos-row {
    display: flex;
    align-items: center;
}}

/* ### Circle counter percent ### */
.circle-counter-percent .percent-sign {
	font-size:26px;
}

/* ### Projects special section ### */

@media (min-width: 981px) {
.project-special-section .et_pb_column.et_pb_column_1_2>.et_pb_row_inner.et_pb_gutters2>.et_pb_column_1_4, .project-special-section .et_pb_gutters2 .et_pb_column_1_2>.et_pb_row_inner>.et_pb_column_1_4 {
    width: 49.25%;
    margin-right: 1.5%;
}

.project-special-section .et_pb_gutters2 .et_pb_column_1_2, .project-special-section .et_pb_gutters2.et_pb_row .et_pb_column_1_2 {
    width: 49.65%;
    margin-right: 0.7%;
}

.project-overlay:before {
	content: '';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	opacity:0;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
	background-color: rgb(0 0 0 / 43%);
}

.project-overlay:hover:before {
	opacity:1;
}}

/* ### Projects section 2 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_2, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_2 {
    width: 49.75%;
}

.project-row.et_pb_gutters2 .et_pb_column, .project-row.et_pb_gutters2.et_pb_row .et_pb_column {
    margin-right: 0.5%;
}}

/* ### Projects section 4 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_4, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_4 {
    width: 24.625%;
}}

/* ### Projects section 5 columns ### */
@media (min-width: 981px) {
.project-row.et_pb_gutters2 .et_pb_column_1_5, .project-row.et_pb_gutters2.et_pb_row .et_pb_column_1_5 {
    width: 19.6%;
}}

/* ### Projects overlay columns ### */
.project-row .et_pb_column:before {
	content: '';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	opacity:0;
	z-index:-1;
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;
	background-color: rgb(0 0 0 / 43%);
}

.project-row .et_pb_column:hover:before {
	opacity:1;
} 

/* ### Custom slider ### */

/* ### Slide icons ### */
.slide-active .et_pb_icon_wrap,
.slide-icon:hover .et_pb_icon_wrap {
	cursor: pointer;
}

.slide-icon .et_pb_icon_wrap {
	-webkit-transition: all 0.2s 0s ease-in-out;
	-moz-transition: all 0.2s 0s ease-in-out;
	-o-transition: all 0.2s 0s ease-in-out;
	transition: all 0.2s 0s ease-in-out;	
}

.icon-row {
	display: flex;
	flex-wrap: wrap;
}

#slider-icon-row .slide-icon {
	margin-left: 0px !important;
    margin-right: 20px !important;	
}

/* ### Slide text ### */
.slider-text {
	display: none;
}

.slider-text.active-slide-text {
	display: block;
	padding-right: 30px;
}

/* ### Slide image ### */
.slider-image {
	position: absolute;
	visibility: hidden;
  	opacity: 0;
}

.slider-image.active-slide-image {
	visibility: visible;
  	opacity: 1;
	position: relative;
}

/* ### Service card V1 ### */
.service-card-blurb-v1 {
	position: absolute;
    bottom: -125px;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v1 .service-card-blurb-v1 {
	bottom: 0px;
}

/* ### Service card V2 ### */
.card-overlay-triangle:before,
.card-overlay-triangle-plate:before,
.card-overlay-triangle-extruder:before,
.card-overlay-triangle-industrial-services:before {
	content:"";
	width: 100%;
	height: 100%;
	position: absolute;
	top:-70%;
	right:-70%;
	z-index: 9;
	transform: rotate(45deg);
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-v2 .service-card-v2:before {
	width: 300%;
	height: 300%;
}

.card-overlay-triangle:after {
	/* Text overlay - centered */
	position: absolute;
	left: 0; top: 0; right: 0; bottom: 0;
	display: flex; align-items: center; justify-content: center;
	text-align: center; padding: 16px;
	z-index: 10; opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.active-card-v2 .service-card-v2:after { opacity:1; }
.service-card-v2.card-overlay-triangle:hover:after { opacity: 1; }

/* ### Service card V3 ### */
.service-card-blurb-v3 {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-card-blurb-v3 .service-card-blurb-v3 {
	top: 0%;
	margin-top:0px;
}

/* ### Service card V3 ### */
.project-blurb {
	position: absolute;
    top: 100%;
	margin-top:-8px;
	height: 100%;
	display: flex;
    align-items: center;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.active-project .project-blurb {
	top: 0%;
	margin-top:0px;
}

@media (min-width: 981px) {
.project-5-column.et_pb_gutters1 .et_pb_column_1_5, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column_1_5 {
    width: 19.68%;
}
	
.project-5-column.et_pb_gutters1 .et_pb_column, .project-5-column.et_pb_gutters1.et_pb_row .et_pb_column {
    margin-right: .4%;
}}

/* ### Person module ### */
.person-module .et_pb_member_social_links {
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
    padding: 5px 20px 0px 20px;
	visibility: hidden;
	z-index:-999;
	-webkit-transition: all 0.4s 0s ease-in-out;
	-moz-transition: all 0.4s 0s ease-in-out;
	-o-transition: all 0.4s 0s ease-in-out;
	transition: all 0.4s 0s ease-in-out;
}

.person-module:hover .et_pb_member_social_links {
	bottom:-32px;
	visibility: visible;
	z-index:1;
}

.et_pb_team_member_description {
	padding: 10px 20px;
}

.et_pb_team_member_description h4.et_pb_module_header {
	padding-bottom: 0px;
}

.person-module .et_pb_team_member_image:before {
	font-size: 16px;
	font-weight: 600;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
	opacity:0;
	transform: rotateY(180deg);
	backface-visibility: hidden;
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-align: center;
	box-sizing: border-box;
	line-height: 1.4;
	hyphens: auto;
	padding: 15px;
}

.person-module .et_pb_team_member_image img {
	backface-visibility: hidden;
	transform: rotateY(0deg);
}

.person-module .et_pb_team_member_image {
	position: relative;
	perspective: 1000px;
	transform-style: preserve-3d;
	transition: transform 0.6s;
}

.person-module:hover .et_pb_team_member_image:before {
	opacity:1;
}

.person-module:hover .et_pb_team_member_image {
	transform: rotateY(180deg);
}

/* ### Blurbs under hero ### */
@media (max-width: 479px) {
.blurbs-hero .et_pb_blurb_container {
	padding-left: 6px !important;
}}

/* ### Blog fullwidth ### */
.blog-fullwidth article {
    padding-bottom: 45px;	
}

.blog-sidebar .et_pb_widget {
	padding: 25px;
    box-shadow: 0 0 30px 5px rgb(0 0 0 / 10%);
	border-radius: 3px;
	min-width: 100% !important;
}

.blog-sidebar .et_pb_widget ul li::before {
	content: "\25a0";
    font-weight: bold;
    display: inline-block;
    width: 1.5em;
    margin-left: -1.5em;
    margin-top: -2px;
    float: left;
}

.blog-sidebar.et_pb_widget_area ul {
    margin: 0 0 1.5em 1.5em !important;
}

/* Quote color to brand red */
.et_pb_text_inner blockquote {
    border-left-color: #c6041f !important;
}

/* Font size for et_pb_text modules */
.et_pb_text {
	font-size: 16px !important;
}

/* #### Collaping Mobile Menu #### */

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	border-radius: 50%;
	padding: 3px;
}

ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.mobile-toggle-open>.mobile-toggle-icon::after {
	content: '\32';
}

.et_mobile_menu .menu-item-has-children>a {
    font-weight: 500 !important; 
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle-icon {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle-icon {
	text-align: center;
	opacity: 1;
}

/* ### Responsive from 981px ### */

@media (min-width: 981px) and (max-width: 1200px) { 
.hero-home-column-1 {
	padding: 35px !important;	
}}

@media (min-width: 1201px) and (max-width: 1500px) { 
.hero-home-column-1 {
	padding: 75px !important;	
}}

@media (min-width: 981px) and (max-width: 1500px) { 
.hero-home-column-1 h1 {
    font-size: 54px !important;
}}

@media (min-width: 981px) and (max-width: 1100px) { 
.header-menu.et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li {
    padding: 0px 20px !important;
}}

/* ### Responsive from 981px - single service page ### */

@media (min-width: 981px) and (max-width: 1400px) {
.single-service-column-2 {
	padding: 20px !important;
}

.single-service-column-2 .et_pb_blurb_description p {
	font-size: 18px !important;	
}

.single-service-column-2 .et_pb_blurb:not(.et_pb_blurb ~ .et_pb_blurb) .et_pb_main_blurb_image .et_pb_image_wrap {
    width: 50px !important;
}}

/* ### Responsive from 981px - project page ### */

@media (min-width: 981px) and (max-width: 1400px) {
.project-column .et_pb_blurb.project-blurb {
	padding-right: 20px!important;
    padding-left: 20px!important;
}

.project-column .et_pb_blurb.project-blurb .et_pb_blurb_description {
	font-size: 12px;
	line-height: 1.5em;
}

.project-column .et_pb_blurb.project-blurb .et_pb_main_blurb_image {
    display: inline-block;
	margin-bottom: 10px;
}}

@media (max-width: 980px) {
.circle-counter-row .et_pb_column_1_6 {
	width: 100%!important;
	margin-right: 0px !important;
	margin-bottom: 30px !important;
}}

/* ### Line dot - top left to right bottom ### */

.dot-right-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
	top:65px;	
}

.dot-left-top:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    left: -7px;
	top:-15px;
}

.dot-left-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    left: -7px;
	top:65px;
}

.dot-right-top:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
    top: -15px;
}

.sub-page-dot.dot-right-bottom:after {
	content: '\25CF';
    font-size: 20px;
    position: absolute;
    right: -7px;
	top:15px;	
}

/* The decorative dot sits 7px outside whatever carries it. On an inner module that is fine,
   the dot stays inside the page. On a FULL WIDTH SECTION the same offset pushes it past the
   right edge of the viewport: the dot is cut in half and the document can be scrolled 7px
   sideways. Measured 09.09.2026 on 13 of the 14 Extruder pages, at 1440 and at 390.
   Correcting only the section level keeps the module dots untouched.
   After: scrollX 7 -> 0, and the dot is a whole circle instead of a half one. */
.et_pb_section.dot-right-bottom:after {
	right: 0;
}


.et-l--footer .et_builder_inner_content {
    z-index: 99999;
}

.capicard-footer-legal-heading > :last-child,
.capicard-footer-legal-links > :last-child {
    padding-bottom: 0;
    min-width: 180px;
}

  
.slide-in-section .custom-menu-v1-row:before {
  content:"";
  background-color: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
} 

/* ###  Style scroll bar ### */

#style-scrollbar::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  border-radius: 0px;
}

#style-scrollbar::-webkit-scrollbar {
  width: 10px;
}

#style-scrollbar::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
}

.custom-menu-v1-row {
	overflow: hidden;
  	transform: translateX(100%);
  	transition: all .3s ease;
	opacity:1;
}

.custom-menu-v1-row.active-menu-v1 {
  	overflow: hidden;
  	transform: translateX(0%);
  	transition: all .3s ease;
	opacity:1;
}
  
@media (max-width: 980px) {
.menu-v1-desktop-column {
   	height: 100vh; 
}} 
  
/* ###  Hide on visual builder ### */
.et-fb .slide-image-2,
.et-fb .slide-image-3,
.et-fb .slide-image-4,
.et-fb .slide-image-5,
.et-fb .slide-image-6 {
display: none;
}


.circle-counter-umsatz .percent-value::after {
	content: var(--capicard-label-revenue-unit, "");
	font-size: 1.5rem;
	line-height: 1;
	margin-left: 2px;
	color: #000;
  }

  .circle-counter-umsatz .percent-value::before {
	content: var(--capicard-label-approx, "");
	font-size: 1.5rem;
	margin-right: 2px;
	color: #000;
  }



/* ### Kontaktformular (CF7) ### */
.kontaktformular .wpcf7-form p {
    margin: 0 0 0px 0;
}

.kontaktformular .wpcf7-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}

.kontaktformular .wpcf7-form p:has([name="your-subject"]),
.kontaktformular .wpcf7-form p:has(textarea),
.kontaktformular .wpcf7-form p:has(.wpcf7-acceptance),
.kontaktformular .wpcf7-form p:has(.wpcf7-submit),
.kontaktformular .wpcf7-response-output,
.kontaktformular .akzeptieren-form,
.kontaktformular .wpcf7-spinner {
    grid-column: 1 / -1;
}

.kontaktformular .wpcf7-form p:not(:has(.wpcf7-form-control)) {
    grid-column: 1 / -1;
}

.kontaktformular label {
    display: block;
}

.kontaktformular .wpcf7-form-control {
    width: 100%;
    background-color: #fff;
    border: 1px solid #e1e1e1;
    padding: 12px 14px;
    border-radius: 6px;
}

.kontaktformular select.wpcf7-form-control,
.kontaktformular .wpcf7-select {
    padding: 11px 14px;
}

.kontaktformular .wpcf7-form-control:focus {
    border-color: #c6041f;
    box-shadow: 0 0 0 2px rgba(7,64,137,0.12);
    outline: 0;
}

.kontaktformular .wpcf7-submit {
    color: #FFFFFF !important;
    border-width: 0px !important;
    font-size: 16px;
    font-weight: 600 !important;
    background-color: #c6041f;
	width: 50%;
}

.kontaktformular .wpcf7-submit:hover {
    color: #FFFFFF !important;
    border-width: 0px !important;
    font-size: 16px;
    font-weight: 600 !important;
    background-color: #f80527;
	width: 50%;
	padding: 12px 14px;
    border-radius: 6px !important;
}

/* Pfeil nur für CF7 Submit Button mit et_pb_button Klasse */
.kontaktformular .wpcf7-submit.et_pb_button:hover::after,
.kontaktformular .wpcf7-submit.et_pb_button.et_pb_bg_layout_light:hover::after {

	font-size: 28px;
}

.kontaktformular .wpcf7-not-valid-tip {
    color: #c6041f;
}

.kontaktformular .wpcf7-response-output {
    border-color: #c6041f;
}
  

/* Responsive: stack on tablet and below (Divi: 980px) */
@media (max-width: 980px) {
.kontaktformular .wpcf7-form {
    display: block;
}
.kontaktformular .wpcf7-form p { margin-bottom: 16px; }
}

.circle-counter-mitarbeiter .percent-value::after {
	content: "+";
	font-size: 0.5em;
	line-height: 1;
	margin-left: 2px;
	color: #000;
}

.circle-counter-branche .percent-value::after {
	content: "+";
	font-size: 0.5em;
	line-height: 1;
	margin-left: 2px;
	color: #000;
}
  
/* Header logo sizing - reduce visual size and keep aspect ratio */
.et_pb_menu .et_pb_menu__logo img,
.et_pb_menu__logo-wrap .et_pb_menu__logo img {
    max-height: 44px !important;
    height: auto !important;
    width: auto !important;
}

@media (max-width: 980px) {
    .et_pb_menu .et_pb_menu__logo img,
    .et_pb_menu__logo-wrap .et_pb_menu__logo img {
        max-height: 34px !important;
    }
}

/* ### Replace Divi icon glyph with custom SVG for slide-icon-1 ### 
.slide-icon.slide-icon-1 .et-pb-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask-image: url('/wp-content/uploads/2025/09/briefcase-blank.svg');
	mask-image: url('/wp-content/uploads/2025/09/briefcase-blank.svg');
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	text-indent: -9999px;
	overflow: hidden;
	white-space: nowrap;
}
*/
.vertikal-zentrieren {
	display: flex;
	flex-direction: column;
	justify-content: center;
	}
.tradition-row {
	transform: translateY(10%);
	border-radius: 15px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* Verstecke leere Spalten - nur im Frontend, nicht im Builder */
.et_pb_column_empty {
	display: none !important;
}

/* Im Builder leere Spalten anzeigen, damit man Module hinzufügen kann */
.et-fb .et_pb_column_empty {
	display: block !important;
}

/* ### wpDataTables - Tabelle Farben und Hover ### */
h3.wpdt-c#wdt-table-title-1 {
	color: #074089 !important;
}

table.wpdtSimpleTable tbody tr.wpdt-cell-row:nth-child(odd) td.wpdt-cell {
	background-color: rgba(226, 231, 234, 1) !important;
}

table.wpdtSimpleTable tbody tr.wpdt-cell-row:nth-child(even) td.wpdt-cell {
	background-color: #f6f9fb !important;
}

table.wpdtSimpleTable tbody tr.wpdt-cell-row {
	border-bottom: 0.5px solid rgba(0, 0, 0, 0.08) !important;
}

table.wpdtSimpleTable tbody tr.wpdt-cell-row:last-child {
	border-bottom: none !important;
}

table.wpdtSimpleTable tbody tr.wpdt-cell-row:hover td.wpdt-cell {
	background-color: rgba(210, 218, 223, 1) !important;
}

.wpdt-c .wpdtSimpleTable.wpDataTable tbody td,
.wpdt-c .wpdtSimpleTable.wpDataTable td:first-child,
.wpdt-c .wpdtSimpleTable.wpDataTable td:last-child {
	border: 3px solid #fefefe !important;
}

table.wpdtSimpleTable td.wpdt-cell {
	line-height: 1.7 !important;
}



.add-accordion-icon .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
	display: block;
	content: "\e04f";
}

/* ### Hero Featured Image ### */
#main-content .et_pb_section:first-child {
	position: relative;
	min-height: 400px;
}

#main-content .et_pb_section:first-child .hero-featured-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

#main-content .et_pb_section:first-child .et_pb_row,
#main-content .et_pb_section:first-child .et_pb_column {
	position: relative;
	z-index: 1;
}


.merkmale-liste {
	margin: 0;
	padding-left: 0;
	list-style-position: inside;
}

.merkmale-liste li {
	padding-bottom: 4px;
	padding-top: 16px;
	line-height: 1.7;
	color: #333333;
	font-size: 16px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 16px !important;
	padding-left: 20px;
}

.merkmale-liste li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.et_pb_post .entry-featured-image-url img {
	max-width: 100%;
	max-height: 350px;
	object-fit: cover;
	width: 100%;
}



/* ============================================
   SEKTION 1.1: ARBEITGEBER-VORSTELLUNG
   ============================================ */

.picard-divider {
    width: 50px;
    height: 2px;
    background: #C6041F;
    border: none;
    margin-bottom: 10px;
}

/* Aufzählung mit roten Pfeil-Bullets */
.picard-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 20px !important;
}

.picard-list li {
    position: relative;
    padding-left: 28px;
    padding-top: 6px;
    padding-bottom: 6px;
}

/* Ikon ugyanúgy, mint .dsm_icon_list .dsm_icon_list_image img (24px) */
.picard-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 24px;
    height: 24px;
    background-color: #C6041F;
    -webkit-mask-image: url('/wp-content/uploads/2025/09/right-chevron.svg');
    mask-image: url('/wp-content/uploads/2025/09/right-chevron.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Bild mit rotem Dreieck-Akzent */
.picard-image-frame {
    position: relative;
    overflow: visible !important;
}

.picard-image-frame .et_pb_image_wrap {
    border-radius: 8px;
    overflow: hidden;
}

.picard-image-frame .et_pb_image_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 80px 80px 0;
    border-color: transparent #C6041F transparent transparent;
    z-index: 2;
    pointer-events: none;
}

/* Fix: Rote Bullet-Icons am Anfang des Stichpunkts (nicht mittig) */
.dsm_icon_list .dsm_icon_list_child {
    align-items: flex-start !important;
}
