/*
 Theme Name:     Divi Child Theme
 Theme URI:      http://www.elegantthemes.com
 Description:    Child Theme for Divi Theme by Elegant Themes
 Author:         3 Plus Solutions
 Author URI:     https://www.3plus.solutions
 Template:       Divi
 Version:        1.0.2
*/
 
/* =Ab hier kannst du deine CSS-Anpassungen eintragen
------------------------------------------------------- */

/*---- FONTS ----*/
/* ubuntu-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 300;
  src: url('../../uploads/fonts/ubuntu-v21-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 300;
  src: url('../../uploads/fonts/ubuntu-v21-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('../../uploads/fonts/ubuntu-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 400;
  src: url('../../uploads/fonts/ubuntu-v21-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  src: url('../../uploads/fonts/ubuntu-v21-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 500;
  src: url('../../uploads/fonts/ubuntu-v21-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  src: url('../../uploads/fonts/ubuntu-v21-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ubuntu-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Ubuntu';
  font-style: italic;
  font-weight: 700;
  src: url('../../uploads/fonts/ubuntu-v21-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*---- VIDEO VERLAUF ----*/

.video-bg .et_pb_section_video_bg::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(180deg,#001626 12%,rgba(0,35,58,0.88) 45%);
z-index: 1;
}


/*---- SPALTENINHALT VERTIKAL ZENTRIEREN ----*/
 
.vertikal-zentrieren {
display: flex;
flex-direction: column;
justify-content: center;
}


/*---- ZUSAMMENARBEIT TIMELINE ----*/

.zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon {
	color: #00233a;
}

.zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon.date-icon-circle, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon.date-icon-circle, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon.date-icon-circle, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon.date-icon-circle {
  background-color: #e0e6e9;
}


.zusammenarbeit-timeline .dmpro_timeline_item:hover .date-icon-wrap .date-icon, .zusammenarbeit-timeline .dmpro_timeline_item .date-icon-wrap .date-icon.active {
  color: #00233a;
	  background-color: #00233a;
}

.zusammenarbeit-timeline .dmpro_timeline_date .dmpro_timeline_date_text {
	height: 350px;
	width: 100%;
	border-radius:3px;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 30px 0;
	padding: 0 50px;
}
div.zusammenarbeit-timeline .dmpro_timeline_item_card {
	padding: 0px !important;
}


/*---- MENÜ ----*/

.et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li > a {
  padding-bottom: 0px !important;
  padding-top: 0px !important;
	
}

.dsm_fixed_header_shrink.dsm_fixed_header_shrink_active header{
	  padding-bottom: 7px !important;
  padding-top: 7px !important;
	background: #002339e5!important;
	  backdrop-filter: blur(4px);
}

/*---- SPALTENINHALT UNTEN AUSRICHTEN ----*/
 
.unten-ausrichten {
display: flex;
flex-direction: column;
justify-content: flex-end;
}



/*---– CAROUSEL KUNDENSTIMMEN ----*/


.kundenstimmen .dmpro_carousel_child p {
  padding-bottom: 0px !important;
}
.kundenstimmen .dmpro_carousel_child {
	border-radius: 3px;
padding-top: 0px !important;
}
.dmpro_carousel_child .dmpro-carousel-item-content {
padding: 0px!important;
}

.kundeninfo {
padding-left: 20px;
padding-right: 20px;
padding-bottom: 0px;
padding-top: 0px;
margin-top: 20px;
margin-bottom: 0px;
}


.kundeninfo img {
  margin-top: 0px !important;
 margin-bottom: 0px !important;
 margin-left: 0px !important;
  margin-right: 0px !important;
padding: 0px;
}

.kundeninfo h3 {
  margin-top: -5px;
margin-bottom: 5px;
padding: 0px;
	font-size: 20px;
}

.kundeninfo p {
  margin: 0px;
padding: 0px;
}

/*---- LOGO SLIDER ----*/

.scroller[data-animated="true"] {
  overflow-x: visible;   /* Wichtig für Safari: Clippen der Offscreen-Fläche */
  overflow-y: visible;
}

.scroller__inner {
  padding-block: 1rem;
  display: flex;
  flex-wrap: nowrap;    /* für den Track */
  gap: 1rem;
}

.scroller[data-animated="true"] .scroller__inner {
  width: max-content !important;
  animation: scroll var(--_animation-duration, 60s)
             var(--_animation-direction, forwards) linear infinite;
}

/* Richtung & Geschwindigkeit über korrekt benannte Custom Properties steuern */
.scroller[data-direction="right"] { --_animation-direction: reverse; }
.scroller[data-direction="left"]  { --_animation-direction: forwards; }
.scroller[data-speed="fast"]      { --_animation-duration: 20s; }
.scroller[data-speed="slow"]      { --_animation-duration: 70s; }

/* Keyframes: eindimensionale Translation, stabiler in Safari */
@keyframes scroll {
  to { transform: translateX(calc(-50% - 0.5rem)); }
}

/* Optional: nur wenn ihr die Masken unbedingt wollt, dann gezielt und breitbildig */
@media only screen and (min-width: 2500px) {
  .scroller[data-animated="true"] {
    /* Achtung: kann Safari-Performance drücken */
    -webkit-mask: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent);
    mask: linear-gradient(90deg, transparent, #fff 15%, #fff 85%, transparent);
	  z-index: 10;
  }
}

/* ---- LOGO-SLIDER ---- */

.logo-slider {
  margin: 0;
  padding-inline: 0;
  list-style: none;
}

.logo-slider .et_pb_image {
  padding: 1rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.logo-slider .et_pb_image .et_pb_image_wrap {
  text-align: center;
}

.logo-slider .et_pb_image img {
  width: auto;
  max-height: 50px;
  height: auto;
}

/* ---- BILD-SLIDER ---- */

.bild-slider {
  margin: 0;
  padding-inline: 0;
  list-style: none;
}

.bild-slider .et_pb_image {
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.bild-slider .et_pb_image .et_pb_image_wrap {
  text-align: center;
}

.bild-slider .et_pb_image img {
  width: auto;
  max-height: 500px;
  height: auto;
}

/* ---- RESPONSIVE ---- */

@media only screen and (max-width: 782px) {
  .logo-slider .et_pb_image {
    max-width: 200px;
    max-height: 60px;
  }
  .bild-slider .et_pb_image {
    max-width: 200px;
    max-height: 100px;
  }
  .scroller__inner {
    padding-block: 0.5rem;
  }
}



/*--- ANIMATION ---*


/* Layout */
.logo-orbit { position: relative; display: inline-block; }
.logo-orbit .logo { display:block; width:100px; height:100px; border-radius:50%; }
.orbit-svg { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; z-index:2; }

/* Parameter */
:root{
  --orbit-visible: .60;   /* sichtbarer Anteil am Ende der Zeichenphase (0..1) */
  --arrow-fudge: .2%;     /* 0–0.5% Gegen Lücken durch Antialiasing */
  --draw-dur: 3.6s;       /* Zeichnen + Rückbildung */
  --spin-dur: 8s;         /* Rotation */
}

/* Linie: direkt animieren, kein var()-Hopping */
.orbit-path{
  stroke-dasharray: 0 1;
  stroke-dashoffset: 0;
  animation: orbit-progress var(--draw-dur) linear infinite;
  will-change: stroke-dasharray, stroke-dashoffset;
}

/* Pfeil exakt am Linienende entlang des Pfads */
.orbit-arrowhead{
  offset-path: path("M50 6 A44 44 0 1 1 49.99 6");
  offset-rotate: auto;
  offset-distance: 0%;
  animation: arrow-progress var(--draw-dur) linear infinite;
  will-change: offset-distance, transform;
}

/* Gesamteinheit rotiert kontinuierlich (optional) */
.orbit-rotator{
  animation: orbit-spin var(--spin-dur) linear infinite;
  transform-origin: 50px 50px;
}

/* Keyframes */
@keyframes orbit-progress{
  /* 0–60% zeichnen, 60–72% kurze Pause */
  0%   { stroke-dasharray: 0 1;                          stroke-dashoffset: 0; }
  60%  { stroke-dasharray: var(--orbit-visible) 1;       stroke-dashoffset: 0; }
  72%  { stroke-dasharray: var(--orbit-visible) 1;       stroke-dashoffset: 0; }
  /* 72–100% zurückbilden im Uhrzeigersinn: dasharray -> 0, dashoffset -> -1 */
  100% { stroke-dasharray: 0 1;                          stroke-dashoffset: -1; }
}

@keyframes arrow-progress{
  /* Pfeil bleibt am Linienende: bis zur sichtbaren Länge, dann bis 100% */
  0%   { offset-distance: 0%; }
  60%  { offset-distance: calc(var(--orbit-visible) * 100% + var(--arrow-fudge)); }
  72%  { offset-distance: calc(var(--orbit-visible) * 100% + var(--arrow-fudge)); }
  100% { offset-distance: calc(100% + var(--arrow-fudge)); }
}

@keyframes orbit-spin{
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Reduced Motion respektieren */
@media (prefers-reduced-motion: reduce){
  .orbit-rotator{ animation:none; }
  .orbit-path, .orbit-arrowhead{ animation-duration: calc(var(--draw-dur) * 1.5); }
}

/* Safari-Altcompat (falls nötig) */
.orbit-arrowhead{
  -webkit-offset-path: path("M50 6 A44 44 0 1 1 49.99 6");
  -webkit-offset-distance: calc(0% + var(--arrow-fudge));
}


/*-- MENÜ BUTTON MOBIL --*/
 
@media only screen and (max-width: 980px) {
	div .et_pb_menu ul li.menu-cta {
		position: relative;
		top: -2px;	
		left: 15px
	}
	div .et_pb_menu ul li.menu-cta a {
		 padding: 10px 17px !important;
		background-color: none;
		border-radius: 3px;
		border: 2px solid #e4a939;
		color: #ffffff !important;
		opacity: 1 !important;
		font-size: 13px;
text-transform: uppercase;
		-webkit-transition: all .3s ease-in-out !important;
		transition: all .3s ease-in-out !important;
		display: inline-block;
	}
	div .et_pb_menu ul li.menu-cta a:hover {
		background-color: #e4a939;
		color: #00233a!important;
		opacity: 1!important;
	}
}


@media only screen and (min-width: 594px) and (max-width: 980px) { .zwei-columns .et_pb_column {
	width: 45% !important;
	margin-right: 5%;

}
}
@media only screen and (min-width: 980px) {
	
	div .et_pb_menu ul li.menu-cta {
		position: relative;
		top: -15px;	
		left: 15px;
	}
	
	div .et_pb_menu ul li.menu-cta a {
		 padding: 15px 17px !important;
		background-color: none;
		border-radius: 3px;
		border: 2px solid #e4a939;
		color: #ffffff !important;
		opacity: 1 !important;
		font-size: 14px;
		font-weight: bold;
text-transform: uppercase;
		-webkit-transition: all .3s ease-in-out !important;
		transition: all .3s ease-in-out !important;
		display: inline-block;
	}
	div .et_pb_menu ul li.menu-cta a:hover {
		background-color: #e4a939;
		color: #00233a!important;
		opacity: 1!important;
	
		}
}


 /*---- SPALTENREIHENFOLGE MOBIL ÄNDERN ----*/
@media only screen and (max-width: 980px) {
.change-col-order {
	display: flex; flex-wrap: wrap; 
}
.change-col-order .et_pb_column:first-child {
	order: 2;
	margin-bottom: 0;
}
.change-col-order .et_pb_column:last-child {
	order: 1;
	margin-bottom: 30px;
}
}
