/*
 Theme Name:     Divi Child Theme
 Theme URI:      https://www.elegantthemes.com
 Description:    Divi Child Theme
 Author:         ADIR IT-Solutions
 Author URI:     https://www.adir-it.de
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* = Ab hier eigene CSS-Anpassungen einfuegen
------------------------------------------------------- */

/**---------------Fonts einbinden---------------**/

/* oxanium-200 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/oxanium-v21-latin-200.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-200.woff') format('woff');
}

/* oxanium-300 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/oxanium-v21-latin-300.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-300.woff') format('woff');
}

/* oxanium-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/oxanium-v21-latin-regular.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-regular.woff') format('woff');
}

/* oxanium-500 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/oxanium-v21-latin-500.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-500.woff') format('woff');
}

/* oxanium-600 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/oxanium-v21-latin-600.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-600.woff') format('woff');
}

/* oxanium-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/oxanium-v21-latin-700.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-700.woff') format('woff');
}

/* oxanium-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/oxanium-v21-latin-800.woff2') format('woff2'),
       url('fonts/oxanium-v21-latin-800.woff') format('woff');
}


h1, h2, h3, h4, h5, h6 {
	font-weight: 500 !important;
}


html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: clip;
}

.lenis.lenis-smooth iframe {
	pointer-events: none;
}

.et_pb_scroll_top.et-pb-icon {
background: #009702;
border-radius: 25%;
right: 15px;
bottom: 70px;
transition: all 0.5s;
padding: 10px;
box-shadow: none !important;
}

.et_pb_scroll_top.et-pb-icon:hover {
transform: translateY(-10px);
transition: all 0.5s;
background: #0a0a0a;
}


.mainheader {
    transform: translateY(0) scale(1);
    transform-origin: top center;  /* Skalierung vom oberen Mittelpunkt */
    will-change: transform;
}



.et_pb_icon_0 .et_pb_icon_wrap .et-pb-icon {
font-family: ETmodules!important;
font-weight: 400!important;
color: #4cfd00;
font-size: 96px;
}

.gradient-text {/**
    background: linear-gradient(90deg, #81a3f2, #bf5be2); /** old:     background: linear-gradient(90deg, #2925ff, #EE26D4); 
	-webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline;
	
	**/
}


.inline-buttons .et_pb_button_module_wrapper {
	  display: inline-block;
  }

.et_pb_main_blurb_image {
  margin-bottom: -30px !important;
  }

.stacked-blurb h1 {
  color: #009702 !important;
  font-weight: 400;
}


.stacked-blurb h2 {
  font-weight: 400;
}

.et_pb_blurb_content {
 margin: 0px;
}


.et_pb_contact_form_0 .input:focus {
  padding-left: 22px !important;
  transition: 0.5s ease all !important;
}

.et_pb_contact_form_0 .input {
  transition: 0.5s ease all !important;
}

.et_contact_bottom_container {
margin-top: 0.5%;
}

.et_pb_contact p .et_contact_error {
	border-top: 0px !important;
  	border-bottom: 1px solid red !important;
	border-left: 0px !important;
	border-right: 0px !important;
}

.et-pb-contact-message p{
	padding-top: 20px;
	padding-left: 30px;
	padding-right: 10px;
	padding-bottom: 20px !important;
	margin-bottom: 20px;
	color: #ffffff;
	background-color: #009702;
	border-radius: 10px;
    font-family: 'Oxanium'
}

.et-pb-contact-message p:before{
	content: '\72';
	font-family: 'ETModules';
	margin-right: 10px;
}

.added-css {
	display:none;
}

.et-pb-contact-message ul{
	color: #ffffff !important;
}

/*
.et_pb_icon_0 .et_pb_icon_wrap .et-pb-icon {
font-family: ETmodules!important;
font-weight: 400!important;
color: #4cfd00;
font-size: 96px;
}*/

.et_pb_blurb_position_left .et_pb_blurb_container, .et_pb_blurb_position_right .et_pb_blurb_container {
  vertical-align: middle !important;
}

.advantages ul {
  list-style: none !important;;
}

.et-pb-contact-message ul {
display: none;
}


	::selection {
color: #ffffff;
background: #308922;
}

.heading-animation {
  overflow: hidden !important;
  padding-bottom: 0px !important;
}

.heading-animation.et_had_animation .et_pb_text_inner h1{
		animation: move-up-behind 1.7s ease;
}

.heading-animation.et_had_animation .et_pb_text_inner h1:nth-child(2){
		animation-delay: 1.3s;
}

 @keyframes move-up-behind {
        0% {
            transform: translateY(120%)
        }

        100% {
            transform:translateY(0)
        }
    }

.own-animation-smartphone {
    opacity: 0;
    transform: translateY(30%);
    will-change: transform, opacity;
}

.et_pb_contact_form .input:focus { padding-left: 22px; transition: 0.5s ease all !important; }


.et_pb_contact_form .input {transition: 0.5s ease all !important; }


.footer-section {
	will-change: transform;
	transform: translateY(-25%);
}

footer {
    z-index: -1 !important;
	position: absolute;
	width: 100%;
}

.et-menu li:hover a {
  opacity: 1 !important;
  transition: 0.3s ease !important;
}

.et-menu:hover a {
  opacity: 0.4;
  transition: 0.3s ease !important;
}


.available-contact {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 20px; /* Platz für die Kreise */
}

/* Open - Kreis klein */
.available-contact::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 50%;
    width: 9px;
    height: 9px;
    background-color: #55c91c;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
	z-index: 3;
}

/* Open - Kreis pulsiert */
.available-contact::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 50%;
    width: 10px;  /* 5px kleiner */
    height: 10px;
    background-color: #55c91c;
    border-radius: 50%;
    transform: translate(-50%, -50%);
	animation: pulse 2s cubic-bezier(.2,1,.2,1) infinite;
	z-index: 2;
}


/* Pulsierende Expanding-Animation */
@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.5); /* Kreis wird größer */
        opacity: 0; /* Verblasst komplett */
    }
}


.closed-contact {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 20px; /* Platz für die Kreise */
}

/* Closed - Kreis */

.closed-contact::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 50%;
    width: 9px;
    height: 9px;
    background-color: red;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
	z-index: 3;
}








.call-to-action {
    position: relative;
    display: inline-block;
    overflow: hidden;
    cursor: pointer;
    font-size: 24px;
    font-weight: bold;
	color: black !important;
}

/* Ausgangstext (Noch Fragen?) */
.call-to-action::before {
    content: 'Noch Fragen?';
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.3s ease;
}

/* Hover-Text (Rufen Sie jetzt an) */
.call-to-action::after {
    content: 'Rufen Sie jetzt an';
    position: absolute;
    top: 100%;  /* Startet außerhalb (unterhalb) des Sichtfelds */
    left: 0;
    transition: transform 0.3s ease;
}

/* Hover-Effekt – Text hochschieben */
.call-to-action:hover::before {
    transform: translateY(-100%);
}

.call-to-action:hover::after {
    transform: translateY(-100%);
}


.nectar-text-reveal-button__text:after {
transition: transform .55s cubic-bezier(.25,1,.33,1);
bottom: -120%;
content: attr(data-text);
left: 0;
position: absolute;
color: black !important;;
}

.nectar-text-reveal-button__text {
transition: transform .55s cubic-bezier(.25,1,.33,1)!important;
display: block;
}

.link_text {
overflow: hidden;
display: inline-flex;
}



.et_pb_section {
	/** transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); **/
}
.section-backgroundchange {
  transition: background-color 0.5s ease, color 0.5s ease;  /* Sanfte Farbänderung */
}

.et_pb_section.section-backgroundchange.dark {
  background-color: #0a0a0a !important;
}


.et_pb_section.section-backgroundchange.dark h1, 
.et_pb_section.section-backgroundchange.dark h2,
.et_pb_section.section-backgroundchange.dark h3,
.et_pb_section.section-backgroundchange.dark h4,
.et_pb_section.section-backgroundchange.dark h5,
.et_pb_section.section-backgroundchange.dark h6,
.et_pb_section.section-backgroundchange.dark p {
  color: white !important;
  transition: all 0.5s ease;
}

.et_pb_section.section-backgroundchange.dark > .unsichtbar {
	transition: all 0.5s ease;
	opacity: 0 !important;	
	transform: translate(0, -50px);
}


.scroll-fade span {
    opacity: 0.2;
    will-change: opacity;
}

.animated-title {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.2em;  /* Größerer Abstand zwischen den Wörtern */
}

.word-wrapper {
    display: inline-block;
    overflow: hidden;
	padding-bottom: 0.2em;
	margin-bottom: -0.3em;
	/**word-break: break-word;**/
}

.word {
    display: inline-block;
}


.et_pb_video_0 .et_pb_video_overlay .et_pb_video_play:after {
    background-color: #101010;
    content: '';
    height: 120px;
    width: 120px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 100%;
	transition: transform 0.3s ease, background-color 0.3s ease;
}

.et_pb_video_0:hover .et_pb_video_overlay .et_pb_video_play:after {
    transform: translate(-50%, -50%) scale(1.1); /* Vergrößerung um 20% */
	transition: transform 0.3s ease, background-color 0.3s ease;
    background-image: linear-gradient(90deg, #009702, #009702);
}

.et_pb_video_0:hover .et_pb_video_overlay .et_pb_video_play:before {
    transform: translate(-50%, -50%) scale(1.1)!important;  /* Größeres Icon */
    color: #ffffff;  /* Icon-Farbe ändern */
}

.et_pb_video_0 .et_pb_video_overlay .et_pb_video_play:before {
    content: 'Play' !important;
	font-family: 'Urbanist',Helvetica,Arial,Lucida,sans-serif !important;
	font-weight: 300 !important;
	font-size: 20px !important;
}


.akko.et_pb_accordion .et_pb_toggle {
  border-radius: 35px !important;
  background: #f3f5f9;
  border: 1px solid #eee;
  padding: 0;
}

.akko .et_pb_toggle .et_pb_toggle_title {
  padding: 45px;
  line-height: 1.5em;
}

.akko .et_pb_toggle .et_pb_toggle_content {
  padding: 0 45px 45px 45px;
}

.akko .et_pb_toggle_title::before {
  content: '#';
  transform: rotate(180deg);
  font-size: 30px;
  display: inline-block;  /* Sicherstellen, dass das Symbol sichtbar bleibt */
  transition: transform 0.3s ease, font-size 0.3s ease;
}

/* Hover-Effekt für Titel */
.akko .et_pb_toggle_title:hover::before {
  transform: rotate(225deg);
}


.akko .et_pb_toggle .et_pb_toggle_title:before {
	margin-right: 45px;
}

@media only screen and (max-width: 767px) {
  .akko .et_pb_toggle .et_pb_toggle_title:before {
    margin-right: 18px;
  }
}

/* Inhalt der Accordion-Toggle */
.et_pb_toggle_content {
  padding-top: 15px;
  position: relative;
}

/* Offenes Accordion (Icon dreht sich weiter) */
.akko .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title::before {
  display: block;
  transform: rotate(225deg);
  transition: transform 0.3s ease, font-size 0.3s ease;
}


.akko .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title {
  padding-bottom: 20px;
  transition: 0.5s ease;
}

.et_pb_accordion_item {
  will-change: transform, opacity;
}

.pin-spacer {
  background-color: #141414;  /* Leicht transparentes Schwarz */
}

body {
   /*  background-color: #f3f4f6 !important; Leicht transparentes Schwarz */
  background-color: #ffffff !important;  /* Leicht transparentes Schwarz */

}

html {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
html.loaded {
  opacity: 1;
}	



.hero-item {
  will-change: transform;
  transform-origin: center; /* Wichtig für korrektes Skalieren */
}


.marquee-inner {
  display: inline-flex;
  white-space: nowrap;
  will-change: transform;
}

.marquee-inner span {
  display: inline-block;
  font-size: 50px;
  padding-right: 50px;
  font-family: 'Space Grotesk',Helvetica,Arial,Lucida,sans-serif;
  font-weight: 300;
}


.card-left {
  transform: translate3d(-200px, 0px, 0px) scale3d(1, 1, 1) rotateZ(-10deg);
  opacity: 0.1;
}

.card-right {
  transform: translate3d(200px, 0px, 0px) scale3d(1, 1, 1) rotateZ(10deg);
  opacity: 0.1;
}



.et_parallax_bg {
  	transition: 0.3s ease-out;
}


.metallarten-mini .et_pb_module_header {
  padding-bottom: 0 !important;
}

.green-text {
  background: linear-gradient(90deg, #009702, #00c904);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline; /* Stellt sicher, dass der Clip funktioniert */
}

.table-blurb.et_pb_blurb {
  flex: 2;
  margin-right: /*20px*/ 0px;
}

.table-blurb.et_pb_blurb h4 {
  line-height: 1.4em;
  padding-bottom: 0;
}

.table-blurb .et_pb_blurb_container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.table-blurb .et_pb_blurb_description {
  display: inline;
}

.metallarten .et_pb_column {
    transition: 0.3s ease-in-out all;
}

/* Standardzustand: Alle Spalten bleiben normal */
.metallarten .et_pb_column:hover{
    transform: scale(1.05);
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
}

.backgroundchange{
    transition: 0.3s ease-in-out all;
}

/* Wenn eine Spalte gehovt wird, dann werden ALLE anderen schwarz-weiß */