/*
 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---------------**/

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

/* urbanist-italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/urbanist-v15-latin-italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-italic.woff') format('woff');
}

/* urbanist-100 - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/urbanist-v15-latin-100.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-100.woff') format('woff');
}

/* urbanist-100italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 100;
  src: url('fonts/urbanist-v15-latin-100italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-100italic.woff') format('woff');
}

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

/* urbanist-200italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/urbanist-v15-latin-200italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-200italic.woff') format('woff');
}

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

/* urbanist-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/urbanist-v15-latin-300italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-300italic.woff') format('woff');
}


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

/* urbanist-500italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/urbanist-v15-latin-500italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-500italic.woff') format('woff');
}

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

/* urbanist-600italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/urbanist-v15-latin-600italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-600italic.woff') format('woff');
}

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

/* urbanist-700italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/urbanist-v15-latin-700italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-700italic.woff') format('woff');
}

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

/* urbanist-800italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/urbanist-v15-latin-800italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-800italic.woff') format('woff');
}

/* urbanist-900 - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/urbanist-v15-latin-900.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-900.woff') format('woff');
}

/* urbanist-900italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Urbanist';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/urbanist-v15-latin-900italic.woff2') format('woff2'),
       url('fonts/urbanist-v15-latin-900italic.woff') format('woff');
}




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: #765bf2;
border-radius: 100%;
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: #88058D !important;
  font-weight: 400;
}

@media only screen and (max-width: 767px) {
  .stacked-blurb h1 {
    font-size: 28px;
  }
}

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

@media only screen and (max-width: 767px) {
  .stacked-blurb h2 {
    font-size: 26px !important;
  }
}


.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: #583eed;
	border-radius: 10px;
    font-family: 'Urbanist'
}

.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: #2925ff;
}

.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 {
    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, #3d3af2 0%, #d154d6 100%);
}

.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: none;
  border: 1px solid #eee;
  padding: 0;
}

.akko .et_pb_toggle .et_pb_toggle_title {
  padding: 45px;
}

.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;
}
/* 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_mobile_menu {
    position: absolute;
    left: -144px;
    padding: 5%;
    width: 100%;
    visibility: visible;
    opacity: 1;
    display: none;
    z-index: 9999;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 2px 5px rgba(0,0,0,.1);
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
    border-radius: 10px;
}

.first-section {
  border-radius: 150 !important;
  transform: scale(0.92);
  will-change: transform, border-radius;
  position: relative;
}
.hero-section {
  z-index: 1 !important;
}