.elementor-kit-4{--e-global-color-primary:#F9B522;--e-global-color-secondary:#424240;--e-global-color-text:#2F2F2D;--e-global-color-accent:#F9B522;--e-global-color-heller_link:#F9B522;--e-global-color-dunkel_link:#F9B522;--e-global-color-transparent:#FFFFFF00;--e-global-color-4fb44d9:#82A6B1;--e-global-color-c0b4aad:#FFFFFF;--e-global-color-cd1541d:#F7F7F7;--e-global-color-cc14e10:#F2EFEF;--e-global-color-0fe1bc1:#F7F7F7;--e-global-color-f922bdc:#CBD9DE;--e-global-color-851cd67:#F9B522;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:clamp(2.38rem, 1.50216rem + 3.72414vw, 4.06rem);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:clamp(1.75rem, 1.10345rem + 2.75862vw, 3.00rem);--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:clamp(1.00rem, 0.93534rem + 0.27586vw, 1.13rem);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:clamp(1.00rem, 0.93534rem + 0.27586vw, 1.13rem);--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.4em;--e-global-typography-96c32bf-font-size:calc(0.8 * clamp(1.75rem, 0.55388rem + 5.10345vw, 4.06rem));--e-global-typography-96c32bf-font-weight:700;--e-global-typography-96c32bf-line-height:1.2;--e-global-typography-7f5c0fc-font-family:"Poppins";--e-global-typography-7f5c0fc-font-size:clamp(1.13rem, 0.80172rem + 1.37931vw, 1.75rem);--e-global-typography-7f5c0fc-font-weight:700;--e-global-typography-7f5c0fc-line-height:1.4em;--e-global-typography-b8ffe7e-font-size:clamp(1.00rem, 0.93534rem + 0.27586vw, 1.13rem);--e-global-typography-b8ffe7e-font-weight:700;--e-global-typography-b8ffe7e-line-height:1.4em;--e-global-typography-9acabff-font-family:"Poppins";--e-global-typography-9acabff-font-size:clamp(1.00rem, 0.93534rem + 0.27586vw, 1.13rem);--e-global-typography-9acabff-font-weight:600;--e-global-typography-9acabff-line-height:1em;--e-global-typography-9b0d3cb-font-size:clamp(0.81rem, 0.74784rem + 0.27586vw, 0.94rem);--e-global-typography-9b0d3cb-line-height:1.4;--e-global-typography-c9098a5-font-family:"Poppins";--e-global-typography-c9098a5-font-size:clamp(0.75rem, 0.68534rem + 0.27586vw, 0.88rem);--e-global-typography-c9098a5-font-weight:normal;--e-global-typography-c9098a5-line-height:1.5;--e-global-typography-8192883-font-family:"Poppins";--e-global-typography-8192883-font-size:clamp(0.63rem, 0.56034rem + 0.27586vw, 0.75rem);--e-global-typography-8192883-font-weight:normal;--e-global-typography-8192883-text-transform:uppercase;--e-global-typography-8192883-line-height:1.2em;--e-global-typography-8192883-letter-spacing:0.8px;--e-global-typography-c3a629c-font-family:"Poppins";--e-global-typography-c3a629c-font-size:clamp(1.00rem, 0.93534rem + 0.27586vw, 1.13rem);--e-global-typography-c3a629c-font-weight:700;--e-global-typography-c3a629c-line-height:1em;--e-global-typography-8612594-font-family:"Poppins";--e-global-typography-8612594-font-size:clamp(1.13rem, 0.80172rem + 1.37931vw, 1.75rem);--e-global-typography-8612594-font-weight:600;--e-global-typography-8612594-line-height:1em;--e-global-typography-aa2621d-font-family:"Poppins";--e-global-typography-aa2621d-font-size:clamp(1.60rem, 1.52241rem + 0.33103vw, 1.75rem);--e-global-typography-aa2621d-font-weight:700;--e-global-typography-aa2621d-line-height:1em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-9acabff-font-family ), Sans-serif;font-size:var( --e-global-typography-9acabff-font-size );font-weight:var( --e-global-typography-9acabff-font-weight );line-height:var( --e-global-typography-9acabff-line-height );color:var( --e-global-color-text );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:16px 16px 16px 16px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-transparent );color:var( --e-global-color-secondary );border-style:solid;border-width:2px 2px 2px 2px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-text );}.elementor-kit-4 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-4 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-4 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-7f5c0fc-font-family ), Sans-serif;font-size:var( --e-global-typography-7f5c0fc-font-size );font-weight:var( --e-global-typography-7f5c0fc-font-weight );line-height:var( --e-global-typography-7f5c0fc-line-height );}.elementor-kit-4 h4{color:var( --e-global-color-secondary );font-size:var( --e-global-typography-b8ffe7e-font-size );font-weight:var( --e-global-typography-b8ffe7e-font-weight );line-height:var( --e-global-typography-b8ffe7e-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:clamp(1.25rem, 0.60345rem + 2.75862vw, 2.50rem);}.elementor-element{--widgets-spacing:clamp(1.25rem, 0.60345rem + 2.75862vw, 2.50rem) clamp(1.25rem, 0.60345rem + 2.75862vw, 2.50rem);--widgets-spacing-row:clamp(1.25rem, 0.60345rem + 2.75862vw, 2.50rem);--widgets-spacing-column:clamp(1.25rem, 0.60345rem + 2.75862vw, 2.50rem);}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-4 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-4 h3{font-size:var( --e-global-typography-7f5c0fc-font-size );line-height:var( --e-global-typography-7f5c0fc-line-height );}.elementor-kit-4 h4{font-size:var( --e-global-typography-b8ffe7e-font-size );line-height:var( --e-global-typography-b8ffe7e-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-9acabff-font-size );line-height:var( --e-global-typography-9acabff-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:calc(100vw - 40px);}.e-con{--container-max-width:calc(100vw - 40px);}}@media(max-width:767px){.elementor-kit-4{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-4 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-4 h3{font-size:var( --e-global-typography-7f5c0fc-font-size );line-height:var( --e-global-typography-7f5c0fc-line-height );}.elementor-kit-4 h4{font-size:var( --e-global-typography-b8ffe7e-font-size );line-height:var( --e-global-typography-b8ffe7e-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-9acabff-font-size );line-height:var( --e-global-typography-9acabff-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:calc(100vw - 32px);}.e-con{--container-max-width:calc(100vw - 32px);}}/* Start custom CSS */.swpm-account-delete-button {
  padding-top: 36px;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;

  color: #2F2F2D;
  text-decoration: none;

  font-family: "Poppins";
  font-weight: 400;
  line-height: 1.5em;
  font-size: clamp(1rem, 0.93534rem + 0.1vw, 1.125rem);
}

.swpm-account-delete-button::before {
  content: '';
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url('https://4d-bauprojekte.ch/wp-content/uploads/trash.svg') no-repeat center / contain;
}




@media (max-width: 768px) {
  .mob_silbentrennung {
    hyphens: auto;
    word-break: break-word;
    overflow-wrap: break-word;
  }
}


/* Schatteneffekt bei Hover */
.shadow {
  transition: box-shadow 0.3s ease-in-out;
}

.shadow:hover {
  box-shadow: rgba(0, 0, 0, 0.03) 0px 40px 50px;
}

 

/* Grundlegende Einstellungen für alle Elemente mit abgeschnittener Ecke */

.img-ecke,

.img-ecke-flex,

.img-ecke-cat {

position: relative;

overflow: hidden; /* Verhindert sichtbare Überstände */

}

 

/* --- .img-ecke --- */

.img-ecke {

/* Ecke oben rechts, 30x30px basierend auf der Elementgrösse */

clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);

}

 

/* Tablet: Ecke 15x15px */

@‌media (max-width: 1024px) {

.img-ecke {

clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 0 100%);

}

}

 

---

 

/* --- .img-ecke-flex --- */

.img-ecke-flex {

display: flex; /* Beibehaltung der Flex-Eigenschaft */

flex-direction: column;

/* Ecke oben rechts, 30x30px basierend auf der Elementgrösse */

clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);

}

 

/* Tablet: Ecke 20x20px */

@‌media (max-width: 1024px) {

.img-ecke-flex {

clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);

}

}

 

/* Kategorien */

 

.img-ecke-cat {

clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);

}

 

/* -------------------------------------------------

#main-nav – Hauptnavigation (Desktop)

------------------------------------------------- */

 

/* Navigationselemente (ausser letzter Link) */

#main-nav ul li:not(:last-child) a {

position: relative;

text-decoration: none;

z-index: 1;

padding: 8px 24px;

transition: all 0.3s ease;

}

 

/* Hover- und Aktivzustand: wie Button mit halbtransparentem weissem Hintergrund */

#main-nav ul li:not(:last-child) a:hover,

#main-nav ul li:not(:last-child) a:active,

#main-nav ul li:not(:last-child) a:focus,

#main-nav ul li:not(:last-child).current-menu-item a {

background-color: rgba(255, 255, 255, 0.1);

color: var(--e-global-color-c0b4aad);

border-radius: 0; /* falls du später doch abrunden willst */

}

 

/* Letzter Link = echter Button */

#main-nav ul li:last-child a {

padding: 8px 24px;

background-color: var(--e-global-color-primary);

color: var(--e-global-color-c0b4aad);

border: 2px solid transparent;

transition: all 0.3s ease;

}

 

/* Button Hover- und Aktivzustand */

#main-nav ul li:last-child a:hover,

#main-nav ul li:last-child a:active,

#main-nav ul li:last-child.current-menu-item a {

background-color: transparent;

border: 2px solid var(--e-global-color-c0b4aad);

}

 

/* -------------------------------------------------

#main-nav-global – Hauptnavigation (Desktop)

------------------------------------------------- */

 

/* Navigationselemente (außer letzter Link) */

#main-nav-global ul li:not(:last-child) a {

position: relative;

text-decoration: none;

z-index: 1;

padding: 8px 24px;

transition: all 0.3s ease;

}

 

/* Hover- und Aktivzustand: wie Button mit halbtransparentem weißem Hintergrund */

/* Hover- und Fokus-Zustand */

#main-nav-global ul li:not(:last-child) a:hover,

#main-nav-global ul li:not(:last-child) a:focus,

#main-nav-global ul li:not(:last-child) a:active {

background-color: var(--e-global-color-cd1541d);

color: var(--e-global-color-text);

border-radius: 0;

border: none;

}

 

/* Aktiver Zustand (aktuelle Seite) */

#main-nav-global ul li:not(:last-child).current-menu-item a {

background-color: transparent;

color: var(--e-global-color-text);

border: 3px solid var(--e-global-color-cd1541d);

border-radius: 0;

}

 

/* Letzter Link = echter Button */

#main-nav-global ul li:last-child a {

padding: 8px 24px;

background-color: var(--e-global-color-primary);

color: var(--e-global-color-text);

border: 2px solid var(--e-global-color-primary);

transition: all 0.3s ease;

}

 

/* Button Hover- und Aktivzustand */

#main-nav-global ul li:last-child a:hover,

#main-nav-global ul li:last-child a:active,

#main-nav-global ul li:last-child.current-menu-item a {

background-color: transparent;

border: 2px solid var(--e-global-color-primary);

}

 

/* -------------------------------------------------

#nav-mobile – Mobile Navigation (z. B. im Offcanvas)

------------------------------------------------- */

 

/* Standard-Links in der mobilen Navigation (außer letzter Button-Link) */

#nav-mobile ul li:not(:last-child) a {

display: block;

width: 100%;

padding: 12px 24px;

text-align: left;

color: var(--e-global-color-text);

text-decoration: none;

transition: all 0.3s ease;

}

 

/* Hover- und Fokus-Zustand */

#nav-mobile ul li:not(:last-child) a:hover,

#nav-mobile ul li:not(:last-child) a:focus {

background-color: rgba(0, 0, 0, 0.04);

}

 

/* Aktiver Zustand (aktuelle Seite) */

#nav-mobile ul li:not(:last-child).current-menu-item a {

background-color: transparent;

border: 3px solid var(--e-global-color-cd1541d);

color: var(--e-global-color-text);

}

 

/* Standard-Links in der mobilen Navigation (außer letzter Button-Link) */

#nav-mobile ul li:last-child a {

display: block;

width: 100%;

margin-top: 16px;

padding: 12px 24px;

text-align: center;

background-color: var(--e-global-color-primary);

border: 3px solid transparent;

 

transition: all 0.3s ease;

}

 

/* Hover- und Aktivzustand */

#nav-mobile ul li:last-child a:hover,

#nav-mobile ul li:last-child a:active,

#nav-mobile ul li:last-child.current-menu-item a {

background-color: transparent;

border: 3px solid var(--e-global-color-primary);

 

}

 

/* Nur Abstand, wenn ein Titel direkt nach einem Absatz kommt */

p + h1,

p + h2,

p + h3,

p + h4, 
ul + h1,
ul + h2,
ul + h3,
ul + h4,
ol + h1,
ol + h2,
ol + h3,
ol + h4 {

margin-top: 2em !important;

}

 

/* Footer immer unten*/

 

body, html {height: 100%;}

 

.elementor-page {  display: flex; flex-direction: column; min-height: 100vh;}

 

.elementor-location-footer {margin-top: auto;}

 

/* Unformatierter Text mit globaler Schriftgröße */

.plaintext span {

font-size: var(--e-global-typography-text-font-size) !important;

}

 

/*entfernt die nervigen 10px am Boden des Text-Widgets*/

.elementor-widget-text-editor p:last-child{ margin-bottom:0px;}

 

/* Überschriften*/

h1, h2, h3, h4, h5, h6 {

text-wrap: balance;

}

 

/* Absätze & Listen - Start */

p, ul, ol {

max-width: 80ch;

text-wrap: pretty;

}

 

#wpadminbar,

#wpadminbar * {

max-width: none !important;

margin: 0 !important;

text-align: left !important;

}

 

/* WP Form Style CSS – erweitert für Simple Membership Klassen */

input[type=date],

input[type=email],

input[type=number],

input[type=password],

input[type=search],

input[type=tel],

input[type=text],

input[type=url],

select,

textarea,

 

/* Simple Membership spezifisch */

input.swpm-text,

input[type="text"].swpm-text,

input[type="tel"].swpm-text,

input[type="email"].swpm-text,

input[type="url"].swpm-text,

textarea.swpm-textarea,

select.swpm-select {

background-color: #fff;

border: none;

border-bottom: 2px solid #666;

border-radius: 0;

padding: .5rem 1rem;

transition: all 0.3s ease;

width: 100%;

box-shadow: none;

font-family: inherit;

}

 

fieldset {

border:0px;

padding:0px;

margin:0px;

}

 

ms-label {

font-family: var(--e-global-typography-text-font-family), Sans-serif;

font-size: var(--e-global-typography-text-font-size);

font-weight: normal;

line-height: var(--e-global-typography-text-line-height);

}

 

label {

font-size: var(--e-global-typography-b8ffe7e-font-size);

font-weight: var(--e-global-typography-b8ffe7e-font-weight);

color: var(--e-global-color-secondary);

line-height: 1.5em;

margin-bottom: 16px;

margin-top: 24px;

}

 

/* Helle Links - Start */

 

.linkhell a {

color: var(--e-global-color-5ae61d0);

text-decoration: none;

line-height: 1.8;

position: relative;

background-image: linear-gradient(var(--e-global-color-secondary), var(--e-global-color-secondary));

background-position: 0 100%;

background-repeat: no-repeat;

background-size: 100% 2px;

padding-bottom: 2px;

transition: background-size 0.3s ease-in-out, color 0.3s ease-in-out;

}

 

.linkhell a:hover {

background-size: 100% 100%;

color: #fff; /* weiss beim Hover */

}

 

/* Dunkle Links (normal gewichtet) mit animiertem Unterstrich-Effekt */

.linkdunkel a {
  position: relative;
  display: inline;
  font-weight: 700;
  text-decoration: none;
  color: inherit;
  padding: 0 4px;
  background-image: linear-gradient(var(--e-global-color-accent), var(--e-global-color-accent));
  background-repeat: no-repeat;
background-position: 0 calc(100% - 1px);
  background-size: 100% 0.2ex; /* Unterstrich sichtbar */
  transition: background-size 0.3s ease, background-position 0.3s ease;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.linkdunkel a:hover {
  background-size: 100% 100%; /* ganzer Hintergrund */
  background-position: 0 0%; /* von unten nach oben */
  color: white; /* optional */
}






.linkfooter a {

color: var(--e-global-color-4055073);

text-decoration: none;

font-size: var(--e-global-typography-c9098a5-font-size);

font-weight: normal;

background: none;

padding-bottom: 0;

transition: none;

}

 

/* Improved Animations Stylesheet */

 

@‌keyframes fadeDown {

from {

opacity: 0;

transform: translate3d(0, -30px, 0);

}

to {

opacity: 1;

transform: none;

}

}

 

.elementor-element.fadeInDown {

animation-name: fadeDown;

}

 

@‌keyframes fadeLeft {

from {

opacity: 0;

transform: translate3d(-30px, 0, 0);

}

to {

opacity: 1;

transform: none;

}

}

 

.elementor-element.fadeInLeft {

animation-name: fadeLeft;

}

 

@‌keyframes fadeRight {

from {

opacity: 0;

transform: translate3d(30px, 0, 0);

}

to {

opacity: 1;

transform: none;

}

}

 

.elementor-element.fadeInRight {

animation-name: fadeRight;

}

 

@‌keyframes fadeUp {

from {

opacity: 0;

transform: translate3d(0, 30px, 0);

}

to {

opacity: 1;

transform: none;

}

}

 

.elementor-element.fadeInUp {

animation-name: fadeUp;

}

 

html, body {

height: 100%; /* wichtig: damit min-height korrekt wirkt */

}

 

.elementor-page {

display: flex;

flex-direction: column;

min-height: 100vh; /* mindestens volle Höhe des Viewports */

}

 

.elementor-location-footer {

margin-top: auto; /* schiebt Footer nach unten, wenn Platz frei ist */

}/* End custom CSS */