/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via /assets/scss/_bootscore_custom.scss
*/
:root {
  --str-darkblue:#080925;
  --str-stdblue:#164193;
  --str-signalblue:#2B7AF9;
  --str-liteblue:#89bded;
  --str-stdred:#E20613;
  --str-signalred:#f54611;
  --str-purewhite:#fff;
  --str-bluegrey17:#f8f9fa;
  --str-lightgrey5:#F1F1F1;
  --headline-font:'Rubik', sans-serif;
  --text-font:'inter', sans-serif;

--str-grey:#706f6f;

  /* standardfarben mit alpha  */
  --str-stdblue10:rgba(20, 73, 133, .1);
  --str-stdblue20:rgba(20, 73, 133, .2);
  --str-stdblue30:rgba(20, 73, 133, .3);
  --str-stdblue40:rgba(20, 73, 133, .4);
  --str-stdblue50:rgba(20, 73, 133, .5);
  --str-stdblue60:rgba(20, 73, 133, .6);
  --str-stdblue70:rgba(20, 73, 133, .7);
  --str-stdblue80:rgba(20, 73, 133, .8);
  --str-stdblue90:rgba(20, 73, 133, .9);

   --str-signalblue50:rgba(34, 115, 184, .5);

  --str-darkblue50:rgba(4, 21, 45, .5);
  --str-darkblue60:rgba(4, 21, 45, .6);
  --str-darkblue70:rgba(4, 21, 45, .7);
  --str-darkblue80:rgba(4, 21, 45, .8);
  --str-darkblue90:rgba(4, 21, 45, .9);



  --header-height:100px;



  /* Hero Höhe fix */
  --home-hero-height:33vw;
  --hero2-height:33vw;
  --narrrow-hero-height:33vw;

  --bs-body-font-family: var(--text-font);
  --bs-link-color-rgb:#04152D;

  --bs-btn-bg: #04152D;
  --gf-local-bg-color: #04152D!important;

}

.g-4, .gx-4 {
  --bs-gutter-x:10rem;
}
.navbar {
  --bs-navbar-active-color:var(--str-darkblue);
}

.btn-primary {
      --bs-btn-color: var(--str-lightgrey5);
    --bs-btn-bg: var(--str-stdblue);
    --bs-btn-border-color: var(--str-stdblue);
    --bs-btn-hover-color: var(--str-lightgrey5);
    --bs-btn-hover-bg: var(--str-darkblue);
    --bs-btn-hover-border-color: var(--str-darkblue);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--str-lightgrey5);
    --bs-btn-active-bg: var(--str-darkblue);
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--str-lightgrey5);
    --bs-btn-disabled-bg: var(--str-stdblue);
    --bs-btn-disabled-border-color: var(--str-stdblue)
}



.btn-st-signal-blue {
      --bs-btn-color: var(--str-darkblue);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--str-darkblue);
    --bs-btn-hover-color: var(--str-lightgrey5);
    --bs-btn-hover-bg: var(--str-darkblue);
    --bs-btn-hover-border-color: var(--str-darkblue);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--str-lightgrey5);
    --bs-btn-active-bg: var(--str-darkblue);
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--str-lightgrey5);
    --bs-btn-disabled-bg: var(--str-signalblue);
    --bs-btn-disabled-border-color: var(--str-signalblue)
}

.btn-st-stdred {
  --bs-btn-color: var(--str-purewhite);
    --bs-btn-bg: var(--str-stdred);
    --bs-btn-border-color: var(--str-darkblue);
    --bs-btn-hover-color: var(--str-lightgrey5);
    --bs-btn-hover-bg: var(--str-signalred);
    --bs-btn-hover-border-color: var(--str-darkblue);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: var(--str-lightgrey5);
    --bs-btn-active-bg: var(--str-darkblue);
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--str-lightgrey5);
    --bs-btn-disabled-bg: var(--str-signalblue);
    --bs-btn-disabled-border-color: var(--str-signalblue);
    border:0px;
    font-weight: 500;
    font-family: var(--headline-font);
    text-transform: uppercase;
    padding: 10px;
    border-radius: 4px;
  }

body {
	color:var(--str-grey);

   /*text-align: justify;
  text-justify: inter-word;

  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;

  overflow-wrap: break-word;
  word-break: normal;*/

  background-color: var(--str-purewhite);
}





body a {
  text-decoration: none;
  font-weight: 600;
}

/* Single Karriere Seiten */
body.single-karriere{
  background-color: var(--str-purewhite);
}

body.single-industry{
  background-color: var(--str-purewhite);
}



h1, h2, h3, h4, h5, h6 {
  color:var(--str-grey);
  font-family: var(--headline-font);
}

h1, h2 {
  
  font-weight: 600;
  text-transform: uppercase;
}

h3, h4 {
  
  font-weight: 500;
  text-transform: uppercase;
}

body.single-sales,
body.single-industry {
  background-color: #fff;
}


.form-select,select {
  font-size: .7rem;
}



@media (max-width: 600px){
  h1, h2, h3, h4, h5, h6 {
 font-size: 1.2rem!important;
}

}

header {
	
  border-bottom: 1px solid var(--str-lightgrey5);
  box-shadow: 7px 7px 5px rgba(4,21,45,.00);

}


.cls-custom-header {

	background-color: var(--str-purewhite);
  
  margin: 0;
  padding: 0;
}

.container,
.wp-block-stackable-columns.alignfull .stk-row {
  max-width: clamp(1100px, 84vw, 1600px)!important;
  margin-inline: auto;
}


.navbar-expand-xl {
	height:var(--header-height);
	
  padding: 0;
}


.navbar-expand-xl a {
	font-family: var(--headline-font);
	font-weight: 500;
	font-size: 16px;
  text-transform: uppercase;

  
	
}









@media (min-width: 992px) {
  .navbar-expand-xl a.nav-link {
    line-height: 66px;
  }
}










@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-nav {
    align-items: center;
  }

  .navbar-expand-xl .navbar-nav > .nav-item {
    position: relative;
    display: flex;
    align-items: center;
  }

  .navbar-expand-xl .navbar-nav > .nav-item + .nav-item::before {
    display: none;
    content: "";
    position: absolute;
    left: -2px;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--str-darkblue);
    transform: translateY(-50%);
  }

  .navbar-expand-xl .navbar-nav > .nav-item > .nav-link {
    padding-left: 12px;
    padding-right: 12px;
  }
}












/* ==============================
   FIXED CTA STACK (inkl. Notruf)
============================== */
.fixed-ctas {
  position: fixed;
  bottom: 60%;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  z-index: 999;
}

.fixed-cta {
  display: block;
  width: 65px;
  height: 65px;
  background: var(--str-stdblue);
  border-radius: 3px 0 0 3px;
  transition: background .25s ease, transform .2s ease;
}

.fixed-cta img {
  width: 55px;
  height: 55px;
  margin: auto;
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}


.fixed-cta:hover,
.fixed-cta:focus {
  background: var(--str-signalblue);
   transform: scale(1.05);
}


/* ==============================
   NOTRUF BUTTON
============================== */

/* Wrapper */
.fixed-notruf {
  display: block;
}

/* Default (ausgefahren) */
.fixed-notruf-link {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  padding: 16px 22px;
  background: var(--str-stdred);
  color: #fff;
  text-decoration: none;
  border-radius: 3px 0 0 3px;
  transition:
    transform .45s ease,
    padding .35s ease,
    min-height .35s ease,
    box-shadow .35s ease;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.fixed-notruf-link:hover,
.fixed-notruf-link:focus {
  color: #fff;
  text-decoration: none;
}

/* Icon */
.notruf-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

.notruf-icon svg {
  width: 45px;
  height: 45px;
  display: block;
  transition: width .35s ease, height .35s ease;
}

/* Text */
.notruf-text {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  transition: opacity .25s ease;
}

.notruf-text .label {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .03em;
}

.notruf-text .number {
  font-size: 19px;
  font-weight: 800;
  margin-top: 4px;
  line-height: 1.1;
}

/* ==============================
   COLLAPSED STATE
============================== */

.fixed-notruf.collapsed .fixed-notruf-link {
  width: 65px;
  height: 65px;
  min-height: 65px;
  padding: 0;

  transform: translateX(calc(100% - 65px));
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.fixed-notruf.collapsed .notruf-icon svg {
  width: 40px;
  height: 40px;
  transform: translateX(14px);
}

.fixed-notruf.collapsed .notruf-text {
  opacity: 0;
  pointer-events: none;
}

/* Hover → wieder ausfahren */
.fixed-notruf.collapsed:hover .fixed-notruf-link {
  transform: translateX(0);
}

.fixed-notruf.collapsed:hover .notruf-text {
  opacity: 1;
}

/* ==============================
   RESPONSIVE
============================== */



@media (max-width: 768px) {
.fixed-ctas {
  position: fixed;
  top: calc( var(--header-height) + 10px);
  bottom:auto;
 
}

.fixed-cta {
  display: block;
  width: 55px;
  height: 55px;
  background: var(--str-stdblue);
  border-radius: 3px 0 0 3px;
  transition: background .25s ease, transform .2s ease;
}


  .fixed-cta img {
    width: 45px;
    height: 45px;
  }

 .fixed-notruf.collapsed .fixed-notruf-link {
    width: 55px;
    height: 55px;
    min-height: 55px;
    padding: 0;

    transform: translateX(calc(100% - 55px));
  }

.fixed-notruf.collapsed .notruf-icon svg {
  width: 35px;
  height: 35px;
  transform: translateX(10px);
}



}


.header-notruf {
  display: none!important;;
 margin-left:50px;
  flex: 0 0 auto;

}

.header-notruf-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: var(--header-height);
  padding: 14px 22px 16px;
  background: var(--str-stdred);
  color: #fff;
  text-decoration: none;
  line-height: 1;
  overflow: hidden;
  border-radius: 0px;
}




.header-notruf-link:hover,
.header-notruf-link:focus {
  color: #fff;
  text-decoration: none;
}

.header-notruf-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  color: #fff;
}

.header-notruf-icon svg {
  display: block;
  width: 40px;
  height: 40px;
}

.header-notruf-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.header-notruf-label {
  display: block;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.header-notruf-number {
  display: block;
  margin-top: 4px;
  font-size: 19px;
  font-weight: 800;
  white-space: nowrap;
}





header .btn-outline-secondary {
  --bs-btn-color: var(--str-stdblue);
    --bs-btn-border-color: var(--str-stdblue);
    --bs-btn-hover-color: var(--str-signalblue);
    --bs-btn-hover-bg: var(--str-lightgrey5);
    --bs-btn-hover-border-color: var(--str-lightgrey5);
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--str-lightgrey5);
    --bs-btn-active-border-color: var(--str-lightgrey5);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--str-lightgrey5);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--str-lightgrey5);
    --bs-gradient: none
}


header .offcanvas-body {
  background:;
  
  
}



header .offcanvas-header {
  background:var(--str-stdblue);
  color:var(--str-purewhite);
}


#offcanvas-navbar .offcanvas-footer-logo{
  display: none;
}

#offcanvas-navbar .offcanvas-social{
  display: none;
   
 }

#offcanvas-navbar.show .offcanvas-footer-logo{
  border-top: 1px solid var(--str-stdblue50);
  display: block;
}



/* =====================================================
   FIX: Mega-Menü Toggle bleibt weiß, auch wenn Dropdown offen ist
   (Hover verlässt den Link -> Bootstrap/Theme setzt sonst schwarz)
   ===================================================== */

/* Grundfarbe aller Nav-Links (Desktop) */
@media (min-width: 992px) {

  .navbar{
    --bs-navbar-color: var(--str-grey);
    --bs-navbar-hover-color: var(--str-grey);
    --bs-navbar-active-color: var(--str-grey);
    --bs-navbar-disabled-color: rgba(255,255,255,.6);
  }

  /* Navlinks immer weiß */
  .navbar-expand-xl .navbar-nav .nav-link{
    color:var(--str-grey);
  }

  /* Hover bleibt weiß */
  .navbar-expand-xl .navbar-nav .nav-link:hover,
  .navbar-expand-xl .navbar-nav .nav-link:active,
  .navbar-expand-xl .navbar-nav .nav-link:visited{
    color:var(--str-grey);
    /*font-weight: 700;*/
  }

  /* Dropdown offen (Bootstrap setzt aria-expanded="true") -> bleibt weiß */
  .navbar-expand-xl .navbar-nav .nav-link.dropdown-toggle[aria-expanded="true"]{
    color:var(--str-darkblue) !important;
    font-weight: 600;
  }

  /* Dropdown offen via Keyboard/Fokus im Menü -> bleibt weiß */
  .navbar-expand-xl .nav-item.dropdown:focus-within > .nav-link{
    color:var(--str-darkblue) !important;
    font-weight: 600;
  }
}




.navbar-expand-xl a.nav-link.active {
  color:var(--str-darkblue);
  font-weight: 600;

}

.navbar-expand-xl a.nav-link.dropdown-toggle {
 
}




@media (min-width: 1200px) {

  .navbar-expand-xl .navbar-nav .nav-link {
    position: relative;
  }

  .navbar-expand-xl .navbar-nav .nav-link::before {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 25px;
    height: 3px;
    background: var(--str-grey);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s ease;
    pointer-events: none;
  }

  .navbar-expand-xl .navbar-nav .nav-link:hover::before,
  .navbar-expand-xl .navbar-nav .nav-link:focus-visible::before,
  .navbar-expand-xl .navbar-nav .nav-link.active::before,
  .navbar-expand-xl .navbar-nav .current-menu-item > .nav-link::before,
  .navbar-expand-xl .navbar-nav .current-menu-ancestor > .nav-link::before,
  .navbar-expand-xl .navbar-nav .current_page_item > .nav-link::before,
  .navbar-expand-xl .navbar-nav .current_page_ancestor > .nav-link::before {
    transform: scaleX(1);
  }


  .navbar-expand-xl .navbar-nav .menu-item-has-children > .nav-link::before {
  display: none;
}
}

@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-nav > .nav-item > .nav-link:focus,
  .navbar-expand-xl .navbar-nav > .nav-item > .nav-link:focus-visible,
  .navbar-expand-xl .navbar-nav > .nav-item > .nav-link.show,
  .navbar-expand-xl .navbar-nav > .nav-item > .nav-link.dropdown-toggle.show {
    outline: 0 !important;
    box-shadow: none !important;
  }
}







.header-social {
	margin-left:50px;
}


.logo-wrapper {
  position: relative;
  display: block;
  width: 500px;
  max-width: 100%;
  height: 90px;
}

.logo-wrapper img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition:
    opacity .6s ease,
    transform .6s ease;
  pointer-events: none;
}

/* Logo B (vor Scroll sichtbar) */
.logo-default {
  opacity: 0;
  width: auto;
  height: 95%;
  max-height: 90px;
  transform: translateY(-50%) scale(0.96);
  margin-top:-5px ;
}

/* Logo A (nach Scroll sichtbar) */
.logo-scrolled {
  opacity: 1;
  width: 100%;
  max-width: 500px;
  height: auto;
  max-height: 90px;
  transform: translateY(-50%) scale(1);
}

/* Seiten mit Logo-Switch aktiv */
.logo-on-scroll .logo-default {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.logo-on-scroll .logo-scrolled {
  opacity: 0;
  transform: translateY(-50%) scale(0.96);
}

/* Nach Scroll */
.logo-on-scroll .scrolled .logo-default {
  opacity: 0;
  transform: translateY(-50%) scale(0.96);
}

.logo-on-scroll .scrolled .logo-scrolled {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* Bootstrap Abstand entfernen */
.navbar-brand.logo-wrapper {
  margin: 0;
  padding: 0;
}

/* Responsive Anpassungen */
@media (max-width: 1199.98px) {
  .logo-wrapper {
    width: 360px;
    height: 72px;
  }

  .logo-default,
  .logo-scrolled {
    max-height: 72px;
  }

  .logo-scrolled {
    max-width: 360px;
  }
}

@media (max-width: 575.98px) {
  .logo-wrapper {
    width: 260px;
    height: 56px;
  }

  .logo-default,
  .logo-scrolled {
    max-height: 56px;
  }

  .logo-scrolled {
    max-width: 260px;
  }
}






.dropdown-menu {
  background:;
  border-radius: 3px;
  border:0px;
  width: 300px;
  border-bottom:10px solid var(--str-bluegrey17);
  background-color: rgba(255, 255, 255, .9);
  box-shadow: 7px 7px 7px rgba(4,21,45,.05);
  

}

.dropdown-menu .dropdown-item {
  position: relative;
  text-transform: capitalize;
  font-weight: 400;
  padding: 12px 25px;
}

.dropdown-menu .dropdown-item::after {
  content: "";
  position: absolute;
  left: 25px;
  right: 25px;
  bottom: 0;
  height: 1px;
  background: var(--str-lightgrey5);
}

.dropdown-menu li:last-child .dropdown-item::after {
  display: none;
}


.dropdown-menu .dropdown-item {
  position: relative;
  text-transform: capitalize;
  font-weight: 400;
  padding: 12px 25px 12px 40px; /* links mehr Platz für Icon */
}

.dropdown-menu .dropdown-item::before {
  content: "›"; /* Chevron */
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  
}


.dropdown-menu {
  --bs-dropdown-link-hover-bg: var(--str-lightgrey5);
  --bs-dropdown-link-active-bg: var(--str-lightgrey5);
  --bs-dropdown-link-active-color: var(--str-darkblue);
}


/* ============================================
   Heros
   ============================================ */


/* ausgelagert: bootscore-child/assets/css/hero-styles.css */


























/* ============================================
   Footer
   ============================================ */


#footer {
  position: relative;
  --footer-separator-offset: 0px;
  padding-top: calc(clamp(40px, 7vw, 120px) + var(--footer-separator-offset));
}

#footer .footer-separator-mobile {
  display:none;
}

/* 1-Bild-Version aktiv */
#footer .footer-separator {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0 !important;
  top: auto !important;

  width: 100vw;
  z-index: 50;
  line-height: 0;
  pointer-events: none;
  transform: translateY(0);
}

#footer.footer-separator-attached .footer-separator {
  position: absolute !important;
  top: 0 !important;
  bottom: auto !important;
  transform: translateY(calc(var(--footer-separator-offset) * -1));
}


@media (min-width: 1200px) {
  #footer {
    --footer-separator-offset: 20px;
  }
}

@media (min-width: 1500px) {
  #footer {
    --footer-separator-offset: 35px;
  }
}

@media (min-width: 1742px) {
  #footer {
    --footer-separator-offset: 60px;
  }
}
@media (min-width: 2400px) {
  #footer {
    --footer-separator-offset: 75px;
    
  }
}

@media (min-width: 2696px) {
  #footer {
    --footer-separator-offset: 100px;
    
  }
}

@media (min-width: 3200px) {
  #footer {
    --footer-separator-offset: 130px;
  }
}


@media (max-width: 1024px) {
  #footer .footer-separator {
    display: none !important;
  }

  #footer .footer-separator-mobile {
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 100%;
    z-index: 10;
    line-height: 0;
    pointer-events: none;
  }

  #footer .footer-separator-mobile-img {
    width: 100%;
    height: auto;
    display: block;
  }
}

#footer .footer-separator-img {
  width: 100%;
  height: auto;
  display: block;
}

/* 2-Bild-Version deaktiviert, aber schnell reaktivierbar
#footer .footer-separator {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0 !important;
  top: auto !important;

  width: 100vw;
  z-index: 50;
  line-height: 0;
  pointer-events: none;

  display: grid;
  align-items: end;
}

#footer.footer-separator-attached .footer-separator {
  position: absolute !important;
  top: 0 !important;
  bottom: auto !important;
}

#footer .footer-separator-img {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  display: block;

  opacity: 1;
  transform: translateY(0);

  transition:
    opacity .8s cubic-bezier(.4,0,.2,1),
    transform .8s cubic-bezier(.4,0,.2,1);
}

#footer .footer-separator-img-attached {
  opacity: 0;
  transform: translateY(-20px);
}

#footer.footer-separator-attached .footer-separator-img-sticky {
  opacity: 0;
  transform: translateY(20px);
}

#footer.footer-separator-attached .footer-separator-img-attached {
  opacity: 1;
  transform: translateY(0);
}
*/

footer {
  color:var(--str-purewhite);
  font-family: var(--headline-font);
}

footer a { 
text-decoration: none;
color: var(--str-purewhite);
}

footer a:hover { 
font-weight: 600;
}
footer .bootscore-copyright {
  color:#4d6a99;
}


footer ul {
  list-style-type: none;
  font-size: .8em;

}
footer ol,ul {
    padding-left: 0;
}

   #footer .bg-body-st-darkblue{
  background-color: var(--str-stdblue);
}

#footer .bg-body-st-stdblue{
  background-color: var(--str-stdblue);
}

#footer .bg-body-st-signalblue{
  background-color: var(--str-liteblue);
}

#footer .bootscore-footer-top{
  border-bottom: 0px solid #ddd!important;
}

#footer .bootscore-footer-top h2{
  color: var(--str-darkblue);
}

#footer .bootscore-copyright {
  display:none;
}



#footer .legal-menu ul {
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 5.2em;
  font-weight: 500!important;

}

.legal-menu li {
  position: relative;
  padding: 0 10px;
}

.legal-menu li:not(:last-child)::after {
  content: "|";
  position: absolute;
  right: -3px;
  color: transparent; /* Farbe anpassen */
}

@media (max-width: 600px){ 

#footer .legal-menu ul {
  
  font-size: .75em;
  line-height: 5.2em;
  font-weight: 500!important;

}

.legal-menu li {
  position: relative;
  padding: 0 6px;
}


/* =====================================================
   CLS Button – Outline Secondary
   unabhängig von Bootstrap
   ===================================================== */

.btn-cls-outline-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;

  padding:10px 14px;
  border:2px solid var(--str-darkblue);
  background:transparent;

  color:var(--str-darkblue);
  text-decoration:none;

  font-weight:600;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.02em;

  border-radius:0;

  transition:
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.btn-cls-outline-secondary:hover{
  background:var(--str-darkblue);
  color:var(--str-purewhite);
  border-color:var(--str-darkblue);
  transform:translateY(-1px);
}

.btn-cls-outline-secondary:disabled{
  border-color:var(--str-bluegrey17);
  color:var(--str-bluegrey17);
  background:transparent;
  transform:none;
}
















/* ============================================
   individuelle Blocks – HOME
   ============================================ */


.home-gschftsbrch-wrapper{
overflow: hidden;
}


.home-gschftsbrch-wrapper > .stk-row{
  position: relative;
  z-index: 0;
}

/* Hintergrundbild fullwidth */
.home-gschftsbrch-wrapper > .stk-row::before{
  content:"";
  position:absolute;

  top:0;
  bottom:0;

  left:50%;
  right:50%;

  margin-left:-50vw;
  margin-right:-50vw;

  background:url(assets/img/various/LogoWallpaper_SD.jpg) center / cover no-repeat;

  z-index:-2;
}

/* diagonaler Separator */
.home-gschftsbrch-wrapper > .stk-row::after{
  content:"";
  position:absolute;

  
  width:200vw;
  height:100%;

  top:-50%;
box-shadow: 10px 10px 5px rgba(4,21,45,.22);

  background:var(--str-lightgrey5);
  transform-origin:center;

  transform: translateX(-50%) rotate(-10deg);

  z-index:-1;
}





.home-tiles-dsk{
  width:20%;
  margin: 8px !important;
  padding-top: 50px;
  aspect-ratio: 1;

  text-align: center;

  /* hyphens: auto;
  overflow-wrap: break-word;   
  word-break: normal;  */

  background: var(--str-purewhite, #fff);
  color: var(--str-darkblue);

  box-shadow: 5px 5px 12px rgba(0,0,0,.25);

  /* Typo-/Hover-System */
  --tile-scale: 1;      /* Hover-Faktor */
  --h2-base: 1.8rem;
  --h3-base: 1.4rem;
  --p-base:  1rem;

  transition: box-shadow .25s ease;
}

/* Headings zentrieren (falls global überschrieben) */
.home-tiles-dsk h2,
.home-tiles-dsk h3,
.home-tiles-dsk h4{
  text-align: center;
}

/* Border-Radius */
.home-tiles-dsk:nth-child(1),
.home-tiles-dsk:nth-child(4),
.home-tiles-dsk:nth-child(5){
  border-radius: 0 50px 0 50px;
}

.home-tiles-dsk:nth-child(2),
.home-tiles-dsk:nth-child(3),
.home-tiles-dsk:nth-child(6){
  border-radius: 50px 0 50px 0;
}

/* Farben gebündelt */
.home-tiles-dsk:nth-child(2),
.home-tiles-dsk:nth-child(6){
  background-color: var(--str-signalblue);
  color: var(--str-purewhite);
}

.home-tiles-dsk:nth-child(3){
  background-color: var(--str-darkblue);
  color: var(--str-purewhite);
}

/* h3 nur dort weiß (redundant, aber ok) */
.home-tiles-dsk:nth-child(2) h3,
.home-tiles-dsk:nth-child(3) h3,
.home-tiles-dsk:nth-child(6) h3{
  color: var(--str-purewhite);
}

/* K6: nur Basisgröße der Überschrift reduzieren (Hover bleibt erhalten) */
.home-tiles-dsk:nth-child(6){
  --h3-base: 1.3rem;
}

/* Hover: Text wird größer (kein transform-scale -> kein Pixelmatsch) */
.home-tiles-dsk:hover{
  --tile-scale: 1.09;
  box-shadow: 6px 6px 12px rgba(0,0,0,.25);
}

/* Skalierte Schriftgrößen */
.home-tiles-dsk h2{ font-size: calc(var(--h2-base) * var(--tile-scale)); }
.home-tiles-dsk h3{ font-size: calc(var(--h3-base) * var(--tile-scale)); }
.home-tiles-dsk p { font-size: calc(var(--p-base)  * var(--tile-scale)); }

/* Smooth */
.home-tiles-dsk h2,
.home-tiles-dsk h3,
.home-tiles-dsk p{
  transition: font-size .25s ease;
}


@media (max-width: 600px){



  .home-gschftsbrch-wrapper > .stk-row::before{
 background-position: bottom;
}
  
    .home-tiles-dsk p  {
     display:none;

  }

   .home-tiles-dsk   {
        text-align: justify;
  text-justify: inter-word;

  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;

  overflow-wrap: break-word;
  word-break: normal;
    
  }

  .top-button {
    bottom: 50px;
  }

 
}

/*Spezial blocks*/

.blocl-leistungen h2{
color:var(--str-stdblue);
text-align: center;
font-size: 2.6em;
}

/*.accent-block-signal-blue{
  position: relative;       
              
  
  
  background-color: var(--str-signalblue);
  color: var(--str-purewhite);
  font-size: 1.2em;
  padding: 60px 0;          
}
.accent-block-signal-blue h2{
  color: var(--str-purewhite);
}
*/




.hero-separator img{

  filter:
    drop-shadow(0 4px 6px rgba(0,0,0,.12))
    drop-shadow(0 18px 22px rgba(0,0,0,.18));
}



.position-absolute {
  position:absolute;
  left:-50px;
  top :-200px;
  z-index: 99;
}


.home-bagger-position-absolute {
  position:absolute;
  left:-50px;
  top :-3rem;
  z-index: 99;
  width: clamp(900px, 55vw, 1600px);
}




/* Submit Button – Idle */
#gform_submit_button_5, #gform_submit_button_6, #gform_submit_button_7, #gform_submit_button_8 , #gform_browse_button_6_30, #gform_browse_button_7_30, #gform_browse_button_8_55 {
  background: var(--str-stdblue);
  color: var(--str-purewhite);
  text-transform: uppercase;
  border: none;
  transition: background .25s ease;
}

/* Hover */
#gform_submit_button_5:hover, , #gform_submit_button_6:hover, #gform_submit_button_6_30:hover {
  background: var(--str-signalblue);
}

/* Optional: Fokus für Accessibility */
#gform_submit_button_5:focus-visible, #gform_submit_button_6:focus-visible, #gform_submit_button_6_30:focus-visible  {
  outline: 2px solid var(--str-signalblue);
  outline-offset: 2px;
}


/* To-Top Button – exklusives Styling */
.top-button {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  line-height: 1;
}

/* Icon sauber zentriert + optisch minimal korrigiert */
.top-button i {
  font-size: 18px;
  line-height: 1;
  margin: 0;
}





.container-over-hero{
  --overlap: 220px;           /* Wert hier einstellen */
  position: relative;
  z-index: 5;

  transform: translateY(calc(var(--overlap) * -1));
  margin-bottom: calc(var(--overlap) * -1);
}

/* Mobile weniger Overlap */
@media (max-width: 991.98px){
  .container-over-hero{ --overlap: 240px; }
}





.bewerbungsformular h3 {
  text-transform: capitalize;
  font-size: 1em;
}


 .btn-cls-fill-primary {
  margin:25px;
  background: var(--str-signalblue);
  border-radius: 0;
}

 .btn-cls-fill-primary:hover {
  background: var(--str-signalblue);
  border-radius: 0;
}


.gform_required_legend {
  font-size: .7em;
}







@media (max-width: 1199.98px){

  header #offcanvas-navbar {

box-shadow: -1px 0px 0px 0px var(--str-stdblue50);
}


    #offcanvas-navbar .offcanvas-footer-logo{
    margin-top: auto;
    padding: 2rem 1.25rem 1.5rem;
    
  }

  #offcanvas-navbar .offcanvas-footer-logo img{
    max-width: 80%;
    height: auto;
    opacity: .9;
  }

  #offcanvas-navbar .offcanvas-social{
    display:block;
    margin-top: 2rem;
    gap: 1.25rem;
    padding: 2rem 1.25rem;
      border-top: 1px solid var(--str-stdblue50);
  }

  #offcanvas-navbar .offcanvas-social a{
    display:flex;
    align-items:left;
    justify-content:left;
  }

  #offcanvas-navbar .offcanvas-social svg{
    width:28px;
    height:28px;
  }




   header .offcanvas-body{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Submenus: volle Breite, keine Einrückung des Containers */
  header .offcanvas-body .dropdown-menu{
    position: static !important;
    transform: none !important;
    float: none !important;
    width: 100%;

    border: 0 !important;
    box-shadow: none !important;

    padding: 0 !important;     /* <- wichtig */
    margin: 0 !important;      /* <- wichtig */

    display: none; /* zu */
    background: transparent !important;
    border-radius: 0 !important;
  }

  header .offcanvas-body .dropdown-menu.show{
    display: block;
  }

  /* =========================
     Level 2 Fläche (50%)
  ========================= */
  header .offcanvas-body
  .navbar-nav > li.menu-item-has-children > ul.dropdown-menu.show{
    background: var(--str-stdblue)!important; /* --str-stdblue @ 50% */
    margin:1rem 0!important;
    padding: 1.25rem 0!important;
  }

  /* =========================
     Level 3 Fläche (50%)
  ========================= */
  header .offcanvas-body
  .navbar-nav > li.menu-item-has-children > ul.dropdown-menu
  li.menu-item-has-children > ul.dropdown-menu.show{
    background: rgba(34, 115, 184, .5) !important; /* --str-signalblue @ 50% */
     margin:1rem 0!important;
    padding: 1.25rem 0!important;


  }

  .dropdown-menu .dropdown-item::after {
   background: var(--str-signalblue);
}
.dropdown-menu .dropdown-item::before {
  
  left: 30px;
  
  color:var(--str-signalblue);
}
 

  


  /* Top-Level Links: größer + fett */
  header .offcanvas-body .navbar-nav > li > a.nav-link{
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--str-grey)!important;
    padding: .55rem 20px !important;
  }

  /* Unterpunkte: etwas kleiner + geringerer Zeilenabstand */
  header .offcanvas-body .dropdown-item,
  header .offcanvas-body .dropdown-menu a.dropdown-toggle{
    color: #fff !important;
    font-size: .95rem;
    font-weight: 500;
    line-height: 1.15;
    padding-top: .35rem !important;
    padding-bottom: .35rem !important;
    background: transparent !important;
  }

    /* Level 2 & 3 Links */
  header .offcanvas-body
  .dropdown-menu a{
    padding-top: .6rem !important;
    padding-bottom: .6rem !important;
    line-height: .8;
  }

  /* Einrückung nur über Link-Padding (nicht über Container) */
  /* Level 2 Links */
  header .offcanvas-body
  .navbar-nav > li.menu-item-has-children > ul.dropdown-menu
  > li > a{
    padding-left: 2.25rem !important;
    padding-right: 1rem !important;
    line-height: 1.9em;
  }

  /* Level 3 Links */
  header .offcanvas-body
  .navbar-nav > li.menu-item-has-children > ul.dropdown-menu
  li.menu-item-has-children > ul.dropdown-menu
  > li > a{
    padding-left: 3.25rem !important;
    padding-right: 1rem !important;
  }

  /* Chevron vor Link (nur Sublevels) */
  header .offcanvas-body
  .navbar-nav > li.menu-item-has-children > ul.dropdown-menu a::before{
    content: "\203A"; /* › als Fallback ohne Icon-Font */
    display: inline-block;
    width: 1rem;
    margin-left: -1rem;
    margin-right: .35rem;
    opacity: .9;
  }

  /* Fokus/Active nicht schwarz */
  header .offcanvas-body .nav-link:focus,
  header .offcanvas-body .dropdown-item:focus,
  header .offcanvas-body .dropdown-toggle:focus,
  header .offcanvas-body .nav-link:active,
  header .offcanvas-body .dropdown-item:active,
  header .offcanvas-body .dropdown-toggle:active{
    color:#fff !important;
    background: transparent !important;
    outline: 0 !important;
    box-shadow:none !important;
  }
}




  /* =========================
     maschinenverkauf hide filter
  ========================= */


  .filter-button-row {
    display: none;
  }

  .filter-ranges-container {
    display: none;
  }




  .zeitstrahl-zoom-drag{
  position:relative;
  overflow:hidden;
  cursor:grab;
}

.zeitstrahl-zoom-drag img{
  display:block;
  width:100%;
  height:auto;
  transform-origin:center;
  transition:transform .25s ease;
}

.zeitstrahl-zoom-drag .stk-img-wrapper{
  display:block;
}





/* Cookie Banner Hintergrund */
#cc--main .cc__modal,
#cc--main .cc__settings {
  background-color: var(--str-darkblue);
  color: #ffffff;
}

/* Text */
#cc--main,
#cc--main p,
#cc--main span,
#cc--main strong {
  color: #ffffff;
}

/* Links */
#cc--main a {
  color: #ffffff;
  text-decoration: underline;
}

/* Buttons */
#cc--main .cc__btn-primary {
  background: #ffffff;
  color: var(--str-darkblue);
  border: none;
}

#cc--main .cc__btn-secondary {
  background: transparent;
  color: #ffffff;
  border: 1px solid #ffffff;
}

/* Toggle Labels */
#cc--main .cc__toggle-wrapper span {
  color: #ffffff;
}





.pc-mockup-absolute {
  position:absolute;
  left:-200px;
  top:0px;
}

@media (max-width: 1024px){
  
  .pc-mockup-absolute {
    display:none;
  position:relative;
  
}
}
