/* 
 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: "Mehr zu Plate Technology"; 
    color: #ffffff;
	font-size: 16px;
}

.card-color-2.card-overlay-triangle:after {
	content: "Mehr zu Extruder Technology"; 
    color: #ffffff; 
	font-size: 16px;
}

.card-color-3.card-overlay-triangle:after {
	content: "Mehr zu Industrial Services"; 
    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;
}

/* Variant-specific quotes */
.person-module-1 .et_pb_team_member_image:before { content: "Präzision in Metall"; }
.person-module-2 .et_pb_team_member_image:before { content: "Handwerk, Herz und Hightech"; }
.person-module-3 .et_pb_team_member_image:before { content: "Zitat 3"; }
.person-module-4 .et_pb_team_member_image:before { content: "Zitat 4"; }
.person-module-5 .et_pb_team_member_image:before { content: "Zitat 5"; }
.person-module-6 .et_pb_team_member_image:before { content: "Zitat 6"; }

/* ### 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_0 .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;	
}


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

.et_pb_text_7_tb_footer > :last-child,
.et_pb_text_8_tb_footer > :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: "\00a0Mio. €";
	font-size: 1.5rem;
	line-height: 1;
	margin-left: 2px;
	color: #000;
  }

  .circle-counter-umsatz .percent-value::before {
	content: "ca. ";
	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 ### */
.et_pb_section_0,
.et_pb_section_0_tb_body {
	position: relative;
	min-height: 400px;
}

.et_pb_section_0 .hero-featured-image,
.et_pb_section_0_tb_body .hero-featured-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.et_pb_section_0 .et_pb_row,
.et_pb_section_0 .et_pb_column,
.et_pb_section_0_tb_body .et_pb_row,
.et_pb_section_0_tb_body .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;
}
