/*
Theme Name: ProEW
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: Kwersinn
Author URI:  https://kwersinn.de
Template: salient
Version: 1.0
*/
@font-face {
    font-family: 'Open Sans Condensed';
    src: url('fonts/OpenSans-CondLight-webfont.woff') format('woff'),
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Open Sans Condensed bold';
    src: url('fonts/OpenSans-CondBold-webfont.woff') format('woff'),
    font-weight: 700;
    font-style: normal;
}

.title h1, h2 {
	/*Hack, für SEO-freundliche Headlines*/
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 700;
	color: #00514E;
	line-height: 0.9;
	margin-bottom: 20px;
}
.title h2, h1 {
	font-family: 'Open Sans Condensed bold', sans-serif;
	font-size: 64px;
	text-transform: uppercase;
	font-weight: 700;
	color: #00514E;
	letter-spacing: 1px;
	line-height: 0.9;
}
.title h1 {
	font-family: 'Open Sans Condensed', sans-serif;
	text-transform: none;
	font-weight: 300;
	color: #333333;
	font-size: 22px;
	line-height: 34px;
}
.title h3 {
	font-weight: 700;
	color: #00514E;
	line-height: 1.2;
}
h1, h2, h3 {
    overflow-wrap: break-word;
}
@media only screen and (max-width: 768px) {
	h1, h2, h3 {
		hyphens: auto;
		-webkit-hyphens: auto; /* Safari/iOS */
	}
	.title h2, h1{font-size: 48px!important;}
	.title h1, h2{font-size: 16px;}
	.title h1 {
		font-size: 22px !important;
		line-height: 34px !important;
	}
	.title h2 {
		font-size: 40px !important;
		line-height: 1 !important;
	}
	h2 {
		font-size: 22px !important;
		line-height: 1 !important;
	}
}
.team h3 {color: #00514E;}

.dropdownmain {font-size:22px;font-weight:600;color:#FFF;line-height:38px;}

/** Icons Secondary Navi **/
#menu-item-13 a::before, #tel::before {
  font-family: "FontAwesome";
  content: "\f095"; /* phone */
  font-weight: 900;
  margin-right: 8px;
}

#menu-item-14 a::before, #email::before {
  font-family: "FontAwesome";
  content: "\f0e0"; /* envelope */
  font-weight: 900;
  margin-right: 8px;
}

#header-secondary-outer {
	background-color:var(--nectar-accent-color);
}
#header-secondary-outer nav>ul>li>a{
	font-size:1.5em !important;
	color:#FFF;
}
#header-secondary-outer nav>ul>li>a:hover{
	color:var(--nectar-extra-color-1);
}

#top nav .sf-menu > li > a .menu-title-text{
    font-size: 1.4em;
	color:#00514E!important;
	font-weight:400!important;
}

body, p, li{
    font-size: 16px;
}

.material #header-secondary-outer>.container, .material #header-secondary-outer>.container>nav {
    min-height: 45px;
}
body.material #header-secondary-outer nav>.sf-menu {
    padding: 12px 0 12px 0;
}

/** Slider Swiper**/
.hero-slider,
.hero-slider .swiper-wrapper,
.hero-slider .swiper-slide {
    height: 80vh;
}

.hero-slider .swiper-slide {
    position: relative;
    overflow: hidden;
}

.hero-slider img,
.hero-slider video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;
}

/*Slider Fix Desktop Version*/
#SR7_2_1-13-24_video_html5,
#SR7_2_1-13-23_video_html5 {
  visibility: hidden !important;
}
@media (min-width: 768px) and (max-width: 1024px) {
  #SR7_2_1-13-24_video_html5 {
    visibility: visible !important;
  }
}
@media (max-width: 767px) {
  #SR7_2_1-13-23_video_html5 {
    visibility: visible !important;
  }
}

#scrollVideo_proew {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Mega Menu IMG Fix */
#header-outer .menu-item img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
}

#header-outer .menu-item .menu-item-media {
    overflow: visible !important;
}


/**** Mega Menu Scrollbalken Fix*****/
.nectar-global-section-megamenu,
.nectar-global-section-megamenu .inner {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.nectar-global-section-megamenu::-webkit-scrollbar,
.nectar-global-section-megamenu .inner::-webkit-scrollbar {
  display: none !important;
}

/*Mega Menü Link Farbe*/
.nectar-global-section-megamenu a,
.nectar-global-section-megamenu a b,
.nectar-global-section-megamenu strong,
.nectar-global-section-megamenu strong a {
  display: inline-block !important;
  transition: color 0.15s ease, transform 0.15s ease;
}

/* Mega Menü Hover: Farbe wechseln */
.nectar-global-section-megamenu .wpb_text_column b,
.nectar-global-section-megamenu .wpb_text_column strong {
  display: inline-block;
  transition: color 0.25s ease, transform 0.25s ease;
}

/* Mega Menü Hover irgendwo in der Spalte -> Text einfärben + verschieben */
.nectar-global-section-megamenu .vc_column-inner:hover .wpb_text_column b,
.nectar-global-section-megamenu .vc_column-inner:hover .wpb_text_column strong {
  color: #adaf0f !important;
  transform: translateY(5px);
	transform: translateX(10px);
}

.nectar-global-section-megamenu {
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease !important;
}

/* Leistungen Startseite */
#leistungen .column-bg-overlay {
    transition: background-color .5s ease, opacity .5s ease;
}
/* Text vorbereiten */
#leistungen .wpb_column .wpb_column .wpb_text_column h3 a {
    display: inline-block;
    transition: all 0.3s ease;
}
/* Hover auf die gesamte Spalte */
#leistungen .wpb_column .wpb_column:hover .wpb_text_column h3 a {
    transform: translateX(10px);
}
#header-outer #top nav .nectar-global-section-megamenu ul li {
    font-size: inherit;
    width: auto;
    line-height: inherit;
    margin-bottom: 10px;
}


/* Contact Form 7 */
.wpcf7 textarea[name="your-message"] {
    height: 4.5em;
}
.wpcf7 input[type="submit"] {
    background-color: var(--nectar-extra-color-1)!important;
    color: #fff;
}


/* Nectar Slider Home */
#nectar-slider-instance-1 .swiper-slide .container{
    position: absolute;
    inset: 0;
}
#nectar-slider-instance-1 .swiper-slide .content{
    position: absolute;
    left: 0;
    top: auto !important;
    bottom: 70px !important;
    right: auto;
    transform: none;
    background-color: rgba(0, 81, 78, .7);
    padding: 1em 1.5em;
    max-width: 50%;
}
#nectar-slider-instance-1 .swiper-slide .content h2{
    background-color: transparent;
    padding: 0;
	font-weight: 700;
	line-height: 1.1;
}
#nectar-slider-instance-1 .swiper-slide .content p{
    line-height: 1.2;
}
#nectar-slider-instance-1 .swiper-slide .content p span{
    background-color: transparent;
    padding: 0;
}
/* Kiras Logo Slider */
.logo-marquee{ overflow:hidden; width:100%; position:relative; }
.logo-track{ display:flex; flex-wrap:nowrap; align-items:center; width:max-content; }
.logo-track img{
    height:60px;
    width:auto;
    flex:0 0 auto;
    object-fit:contain;

    /* Schwarz-Weiß + leicht gedimmt */
    filter: grayscale(100%);
    opacity: .65;
    transition: filter .4s ease, opacity .4s ease;
}

.logo-track img{
    height:60px;
    width:auto;
    flex:0 0 auto;
    object-fit:contain;
	margin: 0 30px;   
    filter: grayscale(100%);
    opacity:.65;
    transition: filter .4s ease, opacity .4s ease, transform .4s ease;
}

/* Anpassungen... */
.logo-track > * {
    height: 150px;
    display: flex;
    align-items: center;
}

.logo-track .hover-wrap-inner {
    width: auto !important;
    display: inline-block;
}

.logo-track .hover-wrap-inner img {
    width: auto !important;
    height: 100px;
}
.logo-track > .vc_col-sm-2 {
    width: auto !important;
    flex: 0 0 auto !important;
}

.logo-track > .vc_col-sm-2 .vc_column-inner,
.logo-track > .vc_col-sm-2 .wpb_wrapper,
.logo-track > .vc_col-sm-2 .img-with-aniamtion-wrap,
.logo-track > .vc_col-sm-2 .inner,
.logo-track > .vc_col-sm-2 .hover-wrap,
.logo-track > .vc_col-sm-2 .hover-wrap-inner {
    width: max-content !important;
    max-width: none !important;
}

.logo-track > .vc_col-sm-2 img {
    display: block;
    width: auto !important;
    height: 100px !important;
    max-width: none !important;
}
.logo-track > .vc_col-sm-2 {
    width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    float: none !important;
}
.logo-marquee .vc_col-sm-2 {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.logo-marquee .vc_col-sm-2 img {
    width: auto !important;
    height: 100px !important;
    max-width: none !important;
    display: block;
}
/*Abstand zwischen den Logos*/
.logo-marquee .vc_col-sm-2 {
    margin-right: 30px !important;
}

/* nur das Logo unter der Maus: */
.logo-track img:hover{
    filter: grayscale(0%);
    opacity:1;
    transform: scale(1.2) !important;
}

.star-rating{
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
}
.testimonial_slider .testimonial-name{
    font-family: 'Open Sans', Helvetica, sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #00514E;
    line-height: 1.3;
    text-transform: none;
}
.testimonial_slider blockquote,
.testimonial_slider blockquote .inner{
    border-radius: 0 !important;
}

/* Nur die innere Karte grün, NICHT das blockquote drumherum */
.testimonial_slider blockquote .inner{
    background: #00514E !important;
}

/* blockquote bleibt transparent (Abstände weiß) */
.testimonial_slider blockquote{
    background: transparent !important;
    border: none !important;
}

/* Texte hell */
.testimonial_slider blockquote p,
.testimonial_slider .testimonial-name{
    color: #fff !important;
}
.testimonial_slider .title{
    color: rgba(255,255,255,.7) !important;
}

/* Anführungszeichen-Akzent */
.testimonial_slider .open-quote,
.testimonial_slider .close-quote{
    color: #999A1E !important;
}

/*Slider*/
#SR7_2_1-12-24 {
  display: none !important;
}

#SR7_2_1-15-2,
#SR7_2_1-6-2,
#SR7_2_1-7-2 {
  backdrop-filter: brightness(50%) !important;
  -webkit-backdrop-filter: brightness(50%) !important;
}

/*---------Lichteffekt Liste Elektroinstallation------*/
.leistung-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.leistung-item {
  display: flex;
  align-items: center;
  gap: 15px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
	line-height: 1
  color: #fff;
  padding: 5px 0;

  /* Start-Zustand: unsichtbar, leicht nach links versetzt */
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition-delay: calc(var(--delay) * 0.15s);
}

/* Sichtbarer Zustand, wird per JS-Klasse getriggert */
.leistung-item.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.leistung-icon {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(173, 175, 15, 0.4);
  flex-shrink: 0;
  transition: box-shadow 0.3s ease, background 0.3s ease;
}

/* LED-Puls, wird ebenfalls per JS-Klasse getriggert */
.leistung-item.is-visible .leistung-icon {
  animation: led-pulse 0.6s ease calc(var(--delay) * 0.15s);
}

@keyframes led-pulse {
  0% {
    background: rgba(173, 175, 15, 0.4);
    box-shadow: 0 0 0 rgba(173, 175, 15, 0);
  }
  50% {
    background: rgba(173, 175, 15, 1);
    box-shadow: 0 0 14px 5px rgba(173, 175, 15, 0.8);
  }
  100% {
    background: rgba(173, 175, 15, 1);
    box-shadow: 0 0 8px 3px rgba(173, 175, 15, 0.6);
  }
}

/* Submenu Fix */
.sub-menu {
	padding:0px!important;
	background:#00514e!important;
	margin-left:-16px;
}
.sub-menu li a {
	padding:16px 32px!important;
	color:#FFF!important;
	
	
}
.sub-menu li a .menu-title-text {
	font-size:16px!important;
}
#header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a, #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul .current-menu-item > a {
	transition: background-color 0.15s ease, transform 0.15s ease;
}
#header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul a:hover, #header-outer:not([data-format="left-header"]) #top nav > ul > li:not(.megamenu) ul .current-menu-item > a:hover {
    background-color: #adaf0f !important;
}

/* Team Anpassungen */
.team-member[data-style=meta_overlaid_alt] .team-meta {
    text-align: center;
    bottom: 40px;
}

/* Floating Sidebar Fix */
.sm-item:nth-child(3) {
	transition: all 0.15s ease;
}
.sm-item:nth-child(3):hover {
	padding-top: 36px;
    padding-bottom: 36px;
	background-color:rgb(173,175,15);
	transition: all 0.15s ease;
}
.sm-item:nth-child(3):hover .sm-label {
    padding-top: 5px;
    padding-bottom: 5px;
	line-height: 1.3;
}
@media (max-width: 767px) {
  #side-menu-1 {
    --sm-offset: 200px !important;
  }
}
}

/* =================================================
   Desktop: Header zunächst ausblenden
   ================================================= */

@media only screen and (min-width: 1000px) {

    /* Header beim initialen Laden außerhalb des Bildschirms */
    .home #header-outer {
        transform: translateY(-100%);
        transition: transform .35s ease;
    }

    /* Nach dem ersten Scrollen dauerhaft sichtbar */
    .home.scrolled-once #header-outer {
        transform: translateY(0);
    }

    /* Content initial nach oben ziehen */
    .home #ajax-content-wrap {
        margin-top: -170px;
        transition: margin-top .35s ease;
    }

    /* Nach dem ersten Scrollen Platz für den Header schaffen */
    .home.scrolled-once #ajax-content-wrap {
        margin-top: 0;
    }

}

/*Europakarte Animation*/
.drag_element.tips .point_style {
  transition: transform 0.15s ease;
  transform-origin: bottom center;
}

.drag_element.tips:hover .point_style {
  transform: scale(1.3) translateY(-10px);
}

/*Einfliegen der Pins*/
.drag_element.tips {
  opacity: 0;
  transform: translateY(-15px) scale(0.5);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.wrap_svl.in-view .drag_element.tips {
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* Stagger über CSS-Variable statt nth-child */
.wrap_svl.in-view .drag_element.tips {
  transition-delay: calc(var(--i, 0) * 0.05s);
}

/* Stagger über CSS-Variable statt nth-child */
.wrap_svl.in-view .drag_element.tips {
  transition-delay: calc(var(--i, 0) * 0.15s);
}
/*Europakarte Fix*/
@media (max-width: 991px) {
  .wrap_svl_center_box {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .wrap_svl {
    width: 1244px !important;
    max-width: none !important;
  }
  .wrap_svl .images_wrap img {
    width: 1244px !important;
    max-width: none !important;
  }
  .pins_image,
  .pins_image_hover {
    width: 40px !important;
    height: 57px !important;
    top: -28.5px !important;
    left: -20px !important;
  }
}



/* Footer Menü */
#footer-widgets .menu-item-31 {display:none;} /*entfernt Kontakt Link im Footer */

/* Layout: Spalten */
#footer-widgets .col.span_6:first-child {
    width: 24%!important;
    margin: 0!important;
}
#footer-widgets .col.span_6:last-child {
    width: 75%!important;
    margin: 0!important;
}

/* Menü-Struktur */
#footer-widgets .widget_nav_menu > div > ul {
    display: flex;
    gap: 40px;
}
#footer-widgets .widget_nav_menu > div > ul > li {
    flex: 0 1 auto;
}
#footer-widgets .widget_nav_menu > div > ul > li > a {
    white-space: nowrap;
}
#footer-widgets .widget_nav_menu > div > ul > li:nth-child(4),
#footer-widgets .widget_nav_menu > div > ul > li:nth-child(7) {
    margin-left: -40px;
}
#footer-widgets .menu-main-container {
    margin-top: 35px;
}
#footer-widgets #menu-main-2 .menu-item-27 {
    display: none!important;
}

/* Menü-Typografie */
#footer-widgets ul li {
    font-weight: 500;
    font-size: 1.3em;
}
#footer-widgets ul li ul li {
    font-size: 16px;
    font-weight: 500;
}

/* Sub-Menü */
#footer-widgets ul li ul.sub-menu {
    background: none!important;
}
#footer-widgets #menu-main-2 .sub-menu {
    display: block;
    margin-top: 20px!important;
}
#footer-widgets #menu-main-2 .sub-menu li a {
    line-height: 1.3;
    display: block;
}

/* Footer-Bereich allgemein */
#footer-outer {
    background-color: #003e3c!important;
}
#footer-outer .row {
    padding: 30px 0 0!important;
}
.container-wrap {
    padding-bottom: 0;
}

/* Mobile (< 980px) */
@media (max-width: 980px) {
    #footer-widgets .widget_nav_menu {
        display: none;
    }
    #footer-widgets .col.span_6:first-child {
        width: 100%!important;
    }
}

.taller-image .team-member-image {
    height: 400px !important;
}

.button-mittig {
    display: flex;
    justify-content: center;
}
/*Teamseite*/
.proew-person-table {
  width: 100%;
  border-collapse: collapse;
	border:none!important; background:none!important;
}
.proew-person-table tr, .proew-person-table tr td {border:none!important; background:none!important;}

.proew-person-table td {
  padding: 4px 0!important;
  vertical-align: top;
  border: none;
}

.proew-person-table td:first-child {
  width: 180px;
  font-weight: 700;
  white-space: nowrap;
  padding-right: 25px;
	padding-left:0!important;
	color:#00514E;
}

.centericon {
    display: flex !important;
    justify-content: center !important;
    width: 100%;
}

/*FAQ Headline*/
.toggle-heading {
  font-size: 16px !important;
  font-weight: bold !important;
}

#copyright .col.span_5 {width:100%;margin-bottom:10px;}
#copyright.row {
    padding: 10px 0 0 !important;
}
/*Floating Sidebar Mobile weg!*/
@media (max-width: 756px) {
	.side-menu {display:none;}
}

/*Lexikon Styling*/
.lexikon-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Open Sans', sans-serif;
}
.lexikon-search-box {
  position: relative !important;
  margin-bottom: 25px;
}
#lexikon-search {
  width: 100%;
  padding: 14px 40px 14px 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  font-family: 'Open Sans', sans-serif;
  box-sizing: border-box;
}
#lexikon-search:focus {
  outline: none;
  border-color: #00514E;
}
#lexikon-clear {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer;
  color: #999;
  font-size: 1.3rem;
  display: none !important;
  user-select: none;
  line-height: 1;
}
#lexikon-clear.visible {
  display: block !important;
}
.lexikon-nav {
  text-align: center;
  margin-bottom: 30px;
  line-height: 2.2;
}
.lexikon-nav a {
  color: #00514E;
  text-decoration: none;
  margin: 0 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
}
.lexikon-nav a:hover {
  color: #999A1E;
}
.lexikon-nav a.lexikon-nav-muted {
  color: #ccc;
  pointer-events: none;
}
.lexikon-nav span {
  color: #ccc;
  margin: 0 8px;
  font-size: 1.1rem;
}
.lexikon-letter {
  background: #00514E;
  color: #fff;
  padding: 10px 20px;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 25px;
  text-align: center;
  scroll-margin-top: 20px;
}
.lexikon-entry {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  padding: 18px 10px;
  border-bottom: 1px solid #eee;
}
.lexikon-term {
  flex: 0 0 240px;
  font-weight: 700;
  color: #00514E;
  font-size: 1.05rem;
}
.lexikon-def {
  flex: 1 1 auto;
  min-width: 0;
  color: #333;
  line-height: 1.6;
}
#lexikon-no-results {
  display: none;
  text-align: center;
  padding: 40px 20px;
  color: #888;
  font-size: 1.05rem;
}
html {
  scroll-behavior: smooth;
}
@media (max-width: 600px) {
  .lexikon-entry {
    flex-direction: column;
    gap: 6px;
  }
  .lexikon-term {
    flex: none;
  }
}

/*Jobs-accordion title größer*/
.jobs-accordion .toggle-title a.toggle-heading {
  font-size: 1.5rem !important;
  line-height: 1.3 !important;
}
.jobs-accordion .toggle-title a.toggle-heading i {
  font-size: 1.2rem !important;
}