@charset "UTF-8";
/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
/* =Theme customization starts here
------------------------------------------------------- */
@font-face {
  font-family: 'Montserrat';
  src: url("fonts/montserrat-v30-latin-300.woff2") format("woff2"), url("fonts/montserrat-v30-latin-300.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Montserrat';
  src: url("fonts/montserrat-v30-latin-regular.woff2") format("woff2"), url("fonts/montserrat-v30-latin-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Montserrat';
  src: url("fonts/montserrat-v30-latin-700.woff2") format("woff2"), url("fonts/montserrat-v30-latin-700.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'Montserrat';
  src: url("fonts/montserrat-v30-latin-italic.woff2") format("woff2"), url("fonts/montserrat-v30-latin-italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  font-display: swap; }
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url("fonts/open-sans-v43-latin-300.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url("fonts/open-sans-v43-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ }
h1, h2, h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400; }

.light-text {
  font-weight: 300; }

.bold-text {
  font-weight: 700; }

.italic-text {
  font-style: italic; }

p {
  font-family: 'Open Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 300; }

/* Formatierungen Suche */
/* Suchfeld-Eingabe */
.et_pb_menu.dotMenu .et_pb_menu__search-input {
  /* Textfarbe, Schriftart usw. */ }

/* Container des Suchfeldes */
.et_pb_menu.dotMenu .et_pb_menu__search-container {
  /* Hintergrund, Rahmen, Breite, Positionierung usw. */ }

/* Such-Icon (Lupe) */
.et_pb_menu_0_tb_header.dotMenu .et_pb_menu__icon.et_pb_menu__search-button {
  /* Farbe, Größe etc. */
  color: rgba(228, 236, 239, 0.5) !important;
  padding-left: .2em; }

/* Schließen-Icon (X beim Suchfeld): */
.et_pb_menu_0_tb_header.dotMenu .et_pb_menu__icon.et_pb_menu__close-search-button {
  /* Farbe, Position usw. */ }

/* Unter dem aktiven Menüpunkt einen farbigen Punkt anzeigen */
.dotMenu ul li.current-menu-item > a,
.dotMenu ul li.current-menu-parent > a {
  position: relative;
  display: inline-block; }

.dotMenu ul#menu-ww_main > li > a {
  color: rgba(228, 236, 239, 0.7) !important; }

.dotMenu ul#menu-ww_main > li > a:hover {
  color: white !important; }

.dotMenu ul#menu-ww_main > li.current-menu-item > a::after {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background: #ea6f21;
  /* Wunschfarbe hier einsetzen */
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5px;
  /* Abstand unter dem Text */ }

.dotMenu ul#menu-ww_main > li.current-menu-parent > a::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  background: #e4ecef;
  /* Wunschfarbe hier einsetzen */
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5px;
  /* Abstand unter dem Text */ }

.dotMenu ul#menu-ww_main > li.current-menu-parent:hover > a::before {
  content: none; }

.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul.sub-menu {
  border-top: 1px solid rgba(234, 111, 33, 0.5); }

/* Vor einem Menüeintrag einen Punkt bei Mouse hover anzeigen */
.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul.sub-menu li:hover > a {
  position: relative;
  /* Bezugspunkt für das Pseudo-Element */
  padding-left: 20px;
  /* Platz schaffen für den Punkt links */ }

.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul.sub-menu li > a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  background: rgba(228, 236, 239, 0);
  /* Farbe des Punktes */
  border-radius: 50%; }

.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul.sub-menu li:hover > a::before {
  background: rgba(228, 236, 239, 0.5);
  /* Farbe des Punktes */ }

.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul.sub-menu li.current-menu-item > a::before {
  background: rgba(234, 111, 33, 0.5);
  /* Farbe des Punktes */ }

h1 + p {
  padding-top: 2em; }

h3 + h1 {
  padding-top: .3em; }

.subheadline {
  text-align: center !important; }

.subheadline h1.et_pb_module_heading {
  display: inline-block !important;
  border-bottom: 1px solid rgba(228, 236, 239, 0.2);
  /* Farbe und Dicke anpassen */
  border-top: 1px solid rgba(228, 236, 239, 0.2);
  /* Farbe und Dicke anpassen */
  padding-bottom: 15px;
  /* Abstand Border zu Text */
  padding-top: 15px;
  /* Abstand Border zu Text */ }

.text_orange {
  color: #ea6f21; }

.ww ul li::marker {
  color: #ea6f21; }

.quoteLines {
  padding: 5px 8px;
  border-top: 1px dotted #0f2938;
  border-bottom: 1px dotted #0f2938;
  text-align: center !important;
  border-radius: 2px !important;
  overflow: visible; }

.logotype {
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  white-space: nowrap !important;
  hyphens: none !important; }

.et_pb_accordion .et_pb_toggle_open .et_pb_toggle_title:before {
  display: block !important;
  content: "\4f" !important;
  /* Beispiel-Icon (Schließen) */ }

@media only screen and (min-width: 981px) {
  .colAccordion > .et_pb_accordion_item {
    width: 48%;
    float: left;
    margin-right: 4%;
    box-sizing: border-box; }

  .colAccordion > .et_pb_accordion_item:nth-child(2n) {
    margin-right: 0; }

  .colAccordion > .et_pb_accordion {
    overflow: hidden;
    /* Für das klare Layout */ } }
span.svg-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url("https://wagnerwagner.net/wp-content/uploads/2025/08/jd.svg") no-repeat center;
  background-size: contain;
  vertical-align: -0.3em;
  margin: 0.2em; }

.an_dot {
  color: #ea6f21;
  font-size: 2em;
  margin-left: -0.05em;
  line-height: 0 !important;
  /* Zeilenhöhe auf regulär/klein halten */ }

.et_pb_text_0.ww a:link, .et_pb_text_0.ww a:visited, .et_pb_text_0.ww a:hover, .et_pb_text_0.ww a:focus, .et_pb_text_0.ww a:active,
.et_pb_text_1.ww a:link,
.et_pb_text_1.ww a:visited,
.et_pb_text_1.ww a:hover,
.et_pb_text_1.ww a:focus,
.et_pb_text_1.ww a:active,
.et_pb_text_2.ww a:link,
.et_pb_text_2.ww a:visited,
.et_pb_text_2.ww a:hover,
.et_pb_text_2.ww a:focus,
.et_pb_text_2.ww a:active,
.et_pb_text_3.ww a:link,
.et_pb_text_3.ww a:visited,
.et_pb_text_3.ww a:hover,
.et_pb_text_3.ww a:focus,
.et_pb_text_3.ww a:active,
.et_pb_text_4.ww a:link,
.et_pb_text_4.ww a:visited,
.et_pb_text_4.ww a:hover,
.et_pb_text_4.ww a:focus,
.et_pb_text_4.ww a:active,
.et_pb_text_5.ww a:link,
.et_pb_text_5.ww a:visited,
.et_pb_text_5.ww a:hover,
.et_pb_text_5.ww a:focus,
.et_pb_text_5.ww a:active,
.et_pb_text_6.ww a:link,
.et_pb_text_6.ww a:visited,
.et_pb_text_6.ww a:hover,
.et_pb_text_6.ww a:focus,
.et_pb_text_6.ww a:active,
.et_pb_text_7.ww a:link,
.et_pb_text_7.ww a:visited,
.et_pb_text_7.ww a:hover,
.et_pb_text_7.ww a:focus,
.et_pb_text_7.ww a:active {
  color: #ea6f21 !important;
  /* weitere gemeinsame Styles */ }

.ww a,
#footerline .et_pb_section_0_tb_footer a {
  position: relative;
  display: inline-block;
  color: #ea6f21 !important; }

.ww a::after {
  content: '•••';
  position: absolute;
  left: 50%;
  bottom: -1em;
  transform: translateX(-50%) translateY(-10px);
  /* Startposition leicht oberhalb */
  font-size: 0.8em;
  color: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease; }

.ww a:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  /* Endposition direkt unter dem Link */ }

/* Normale Divi-Buttons */
.et_pb_button {
  /* Deine Standard-Styles, z.B.: */
  background-color: #0073e6;
  color: #ea6f21;
  font-weight: 300;
  text-transform: uppercase;
  background: linear-gradient(to bottom, rgba(51, 79, 92, 0) 0%, rgba(51, 79, 92, 0) 100%) !important;
  border: 0.5px solid rgba(216, 227, 232, 0.4) !important;
  border-radius: 5px; }

/* Optional: Button Hover */
.et_pb_button:hover {
  background: linear-gradient(to bottom, rgba(51, 79, 92, 0.0388888889) 0%, rgba(51, 79, 92, 0.0888888889) 100%) !important;
  border: 0.5px solid rgba(216, 227, 232, 0.8) !important; }

.et_pb_button[data-icon]:not([data-icon=""])::after {
  content: " •••" !important;
  transition: color 0.3s, transform 0.3s;
  display: inline-block;
  top: 2px;
  /* schiebt die Punkte um 4 Pixel nach oben */
  padding-left: 3px !important; }

.et_pb_button[data-icon]:not([data-icon=""]):hover::after {
  color: #ea6f21;
  transform: rotate(90deg); }

svg.ww_icon {
  width: 50px !important;
  height: 50px !important;
  display: inline-block !important;
  overflow: visible; }

svg.ww_icon * {
  fill: #ea6f21 !important;
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  /* Optional: transform-origin steuert z.B. das Vergrößern aus der Mitte: */
  transform-origin: 50% 50%; }

svg.ww_icon:hover * {
  fill: #e4ecef !important;
  transform: scale(1.000000001); }

/* Container: Spalte mit Klasse custom-image-column */
.default-logo {
  opacity: 1;
  transition: opacity 1s ease; }

.sticky-logo {
  opacity: 0;
  transition: opacity 1s ease; }

.et_pb_section.et_pb_sticky .default-logo {
  opacity: 0;
  visibility: hidden; }

.et_pb_section.et_pb_sticky .sticky-logo {
  opacity: 1;
  visibility: visible; }

.et_pb_section_0_tb_header.et_pb_section:not(.noHover):hover {
  background: rgba(15, 41, 56, 0.2) !important;
  backdrop-filter: blur(10px); }

.et_builder_inner_content .et_pb_sticky.et_pb_section_0_tb_header.et_pb_section {
  background: rgba(15, 41, 56, 0.5) !important; }

.et_pb_sticky.et_pb_section_0_tb_header.et_pb_section:hover {
  background: rgba(15, 41, 56, 0.6) !important;
  backdrop-filter: blur(10px); }

.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu {
  background-color: rgba(15, 41, 56, 0.9) !important;
  backdrop-filter: blur(10px);
  border-radius: 2px;
  /* Radius der Abrundung */
  overflow: hidden;
  /* verhindert, dass die Ecken abgeschnitten wirken */ }

.et_pb_menu li ul.sub-menu li a {
  color: rgba(228, 236, 239, 0.8) !important; }

.hover-word-box {
  position: relative;
  display: inline-block;
  cursor: pointer;
  vertical-align: bottom;
  width: 100%; }

.hover-word-box .normal-word {
  transition: opacity 0.3s;
  display: block;
  /* Bottom-Ausrichtung */
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  text-transform: uppercase; }

.hover-word-box .hover-overlay {
  position: absolute;
  left: 50%;
  max-width: 100%;
  bottom: 0;
  transform: translateX(-50%);
  min-width: 300px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  border-radius: 6px 6px 0 0;
  padding: 12px 10px 8px 10px;
  z-index: 2;
  font-size: .8em;
  font-weight: 300; }

.hover-word-box:hover .normal-word {
  opacity: 0; }

.hover-word-box:hover .hover-overlay {
  opacity: 1;
  pointer-events: auto; }

#footerLine {
  position: relative; }

#footerLine::before {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  /* Abstand von oben */
  left: 0;
  width: 100%;
  height: 1px;
  /* Stärke der Linie */
  background: #ea6f21;
  /* Linienfarbe anpassen */
  z-index: 10; }

/* Beispiel: Gestrichelte Linie zwischen 3 Spalten */
.et_pb_row.dottedlines .et_pb_column:not(:last-child) {
  border-right: 1px dashed #e4ecef;
  /* Farbe und Dicke nach Wunsch */ }

.et_pb_row.dottedlines .et_pb_column .et_pb_module:last-child {
  padding-bottom: 2em !important; }

.et_pb_row.dottedlines .et_pb_column.nobotpadding > .et_pb_module:last-child {
  padding-bottom: 0 !important; }

@media only screen and (max-width: 980px) {
  .et_pb_row.dottedlines .et_pb_column:not(:last-child) {
    border-bottom: 1px dashed #e4ecef; }

  .et_pb_row.dottedlines .et_pb_column .et_pb_module:last-child {
    padding-bottom: 2em !important; }

  .et_pb_row.dottedlines .et_pb_column.nobotpadding > .et_pb_module:last-child {
    padding-bottom: 0 !important; } }
.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
  color: rgba(228, 236, 239, 0.5) !important;
  /* Wunschfarbe */ }

.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:hover:before {
  color: #e4ecef !important;
  /* Wunschfarbe beim Hover */ }

/* Lösung für das Header Problem, bei dem sich unter 980px die Spalten der Navi untereinander positionieren! */
@media (max-width: 980px) {
  .et_pb_row.et_pb_row_0_tb_header {
    /* Passe die Klasse ggf. auf deine Zeile an */
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between; }

  .et_pb_row.et_pb_row_0_tb_header .et_pb_column {
    flex: 1 1 50%;
    /* Passe die Verteilung je nach Bedarf an */ }

  /* Ausrichtung des Hamburger Menüs an der rechten Kante */
  .et_pb_row.et_pb_row_0_tb_header .et_pb_column:last-child {
    display: flex;
    justify-content: flex-end;
    /* Inhalt rechts ausrichten */
    align-items: center; } }
/* Kontext entfernen und volle Breite erlauben */
.et_pb_row.et_pb_row_0_tb_header .et_pb_column:last-child .et_mobile_menu {
  position: fixed !important;
  top: 60px;
  /* Höhe des Headers anpassen */
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  z-index: 9999;
  /* Sicherstellen, dass es über allem liegt */
  background: rgba(15, 41, 56, 0.95) !important;
  /* Hintergrundfarbe setzen, falls transparent */
  backdrop-filter: blur(10px);
  border-top: solid 1px #ea6f21 !important; }

.redText {
  color: #be1622; }

.dotButton .et_pb_button_wrapper a::before {
  content: 'b' !important; }

.dsm_card_carousel_0 .swiper-pagination-bullet {
  width: 30px;
  height: 1.2px;
  background: #d6d1c7 !important; }

.dsm_card_carousel_0 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #be1622 !important; }

.button-icon-left span {
  margin-right: 14px;
  color: white; }

.fas .fa-sign-in-alt {
  color: white !important; }

/* Custom Font-Size */
.dsm_card_wrapper h4 {
  line-height: 1.5em !important;
  padding-bottom: .8em; }

.opener {
  font-size: 20px; }

.et_pb_text_0:not(.ww) h2 {
  font-size: 18px !important; }

a:link, a:visited, a:hover, a:active {
  font-size: 1em !important; }

.slashDist {
  letter-spacing: -15px;
  margin-right: 17px; }

.et_pb_mobile .slashDist {
  letter-spacing: -2px;
  margin-right: 17px; }

.logoText {
  letter-spacing: -1px; }

.uc {
  text-transform: uppercase; }

.op {
  font-family: 'Overpass',Helvetica,Arial,Lucida,sans-serif; }

/* Text Settings *******************************************************************************/
.autoHyphens p,
.autoHyphens span {
  text-align: justify;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto; }

@media (max-width: 767px) {
  /* CSS nur für Smartphones */
  .autoHyphens p,
  .autoHyphens span {
    text-align: left !important; } }
.autohyphens a,
.autohyphens a strong {
  hyphens: auto;
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal !important; }

div[class^='et_pb_text_'] h2 {
  padding-bottom: 1em; }

/* Header *******************************************************************************/
/* Underline the active primary menu link */
#menu-main li.current-menu-item > a:before {
  content: "";
  background: #be1622;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0; }

#menu-main > li {
  padding-left: 0px !important;
  padding-right: 3em !important; }

/* Manual setting font-size because Divi Setting hasn't got any impact */
#menu-main li > a {
  font-size: 16px !important; }

.dynamic-width-column:first-of-type {
  padding-right: 20px;
  /* Adjust padding as needed */ }

.dynamic-width-column .et_pb_module_header {
  display: inline-block;
  white-space: nowrap;
  /* Prevent text from wrapping */ }

/* Footer *******************************************************************************/
.et_footer a:link, .et_footer a:visited, .et_footer a:hover, .et_footer a:active {
  color: white;
  border-bottom: dotted 1px white;
  padding-bottom: 3px; }

/*** Responsive Styles Large Desktop And Above ***/
@media all and (min-width: 980px) {
  .et_footer .et_pb_column {
    display: inline-block !important;
    /* Makes the columns behave like inline elements */
    width: auto !important;
    /* Adjust width based on content */
    float: none !important;
    /* Remove any default floating */ }

  /* Dynamic width for Topnav Columns */
  .dynamic-width-column {
    display: inline-block;
    /*padding-left: 20px;  /* Adjust padding as needed */
    /* padding-right: 20px; /* Adjust padding as needed */
    text-align: center;
    /* Ensure text is aligned to the right within the column */
    float: right;
    /* Aligns the column to the right side of the row */
    width: auto !important;
    /* Ensures the width is based on the content plus padding */ }

  .dynamic-width-column:last-of-type {
    padding-left: 20px;
    /* Adjust padding as needed */ } }
/* Add smooth transition to the header for logo animation*/
.et-fixed-header {
  transition: all 0.3s ease-in-out;
  /* Adjust the duration as needed */ }

/* Add smooth image scaling effect */
.et-fixed-header .et_header_style_left img {
  transition: transform 0.3s ease-in-out;
  /* Smooth transition for scaling */ }

.et_pb_menu--style-centered .et_pb_menu__wrap {
  justify-content: right !important; }

@media (max-width: 980px) {
  .et_pb_menu--style-left_aligned.et_pb_text_align_right .et_pb_menu__wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; } }
#kenner-widget {
  text-align: left !important; }

/*# sourceMappingURL=style.css.map */
