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

 01. Google fonts
 02. Basics style
 03. Helper style
 04. Selection style 
 05. Owl-Theme custom style
 06. Section style
 07. Navbar style
 08. Header style
 09. Slider style
 10. Slider Left Panel style
 11. Page Banner Header style
 12. Content Lines style
 13. Video Background 
 14. About style 
 15. Team style
 16. Team Details style
 17. Careers style
 18. Services style
 19. Services2 style
 20. Services3 style
 21. Services4 style
 22. Projects style
 23. Projects2 (masonry) style
 24. Projects3 style
 25. Projects4 style
 26. Project Gallery style
 27. Project Page style
 28. Clients style
 29. Gallery style
 30. Promo Video and Testimonials style
 31. Blog 1 style
 32. Blog 2 style
 33. Blog 3 style
 34. Blog 4 style
 35. Post style
 36. Contact style
 37. Buttons style
 38. Footer style
 39. Corner style
 40. Preloader style
 41. toTop Button style
 42. Accordion Box (for Faqs) style
 43. Pricing plan style
 44. Error Page - 404 style
 45. Process style
 46. Process 2 style
 47. Comming soon style
 48. Overlay Effect Bg image style
 49. Responsive (Media Query)
 50. Combo Advantage
 
----------------------------------------------------------------------------------- */

/*@import "plugins/easings.min.css";*/

@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/oswald/oswald-v57-latin-regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/oswald/oswald-v57-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */ url("../fonts/oswald/oswald-v57-latin-regular.woff2")
      format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/oswald/oswald-v57-latin-regular.woff") format("woff"),
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
      url("../fonts/oswald/oswald-v57-latin-regular.ttf") format("truetype"),
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
      url("../fonts/oswald/oswald-v57-latin-regular.svg#Oswald") format("svg");
  /* Legacy iOS */
}

/* didact-gothic-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: "Didact Gothic";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.woff2")
      format("woff2"),
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
      url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.woff")
      format("woff"),
    /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
      url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.ttf")
      format("truetype"),
    /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
      url("../fonts/didact-gothic/didact-gothic-v21-latin-regular.svg#DidactGothic")
      format("svg");
  /* Legacy iOS */
}

/* Font Awesome – Lighthouse Fix (überschreibt font-display:block) */

/* Regular 400 -> fa-regular-400.woff2 */
@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-regular-400.woff2") format("woff2");
}

/* Brands 400 -> fa-brands-400.woff2
   In deinem Bundle ist das als "Font Awesome 5 Brands" deklariert. */
@font-face {
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-brands-400.woff2") format("woff2");
}

/* Font Awesome (legacy family name) – Fix für fa-brands-400.woff2 */
@font-face {
  font-family: "FontAwesome";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-brands-400.woff2") format("woff2");
}

/* Font Awesome 6 Brands – Fix für fa-brands-400.woff2 */
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-brands-400.woff2") format("woff2");
}

/* ======= Basic style ======= */
html,
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  list-style: none;
  word-wrap: break-word;
}

body {
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75em;
  color: var(--t0001, #999);
  overflow-x: hidden !important;
  background: var(--t0002, #272727);
}

p {
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75em;
  color: var(--t0003, #999);
  margin-bottom: 20px;
}

@media (max-width: 991px) {
  .noDisplayonMobile {
    display: none !important;
  }
}

.is-hidden {
  display: none !important;
}

.header1,
.header2,
.header3,
.header4,
.header5,
.headheader6 {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  line-height: 1.25em;
  margin: 0 0 20px 0;
}

/* Cookie Banner (CSS only) – neu aufgebaut: EIN eindeutiger Scroll-Container (cookie__details)
  ✅ Card bleibt im Viewport
  ✅ Beim Öffnen der Einstellungen scrollt NUR der Banner-Inhalt (nicht der Body)
  ✅ Keine widersprüchlichen Regeln
  ✅ Theme-fähig über deine Tokens (base/dark/light)
*/

/* Overlay-Container */
.cookie{
  position: fixed;
  inset: 0;
  z-index: 9999;

  display: grid;
  align-items: end;        /* statt place-items:end center (stabiler) */
  justify-items: center;

  padding: 18px;

  pointer-events: none;    /* aktiv nur wenn :target */
}

/* geöffnet */
.cookie:target{
  pointer-events: auto;
}

/* Backdrop: default NICHT klickbar */
.cookie__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  opacity: 0;
  transition: opacity 180ms ease;

  pointer-events: none;    /* wichtig: frisst sonst Klicks im closed-state */
}

.cookie:target .cookie__backdrop{
  opacity: 1;
  pointer-events: auto;
}

/* Card als Flex-Layout, damit wir innen scrollen können */
.cookie__card{
  position: relative;
  width: min(var(--cookie-maxw), calc(100vw - 36px));
  max-height: calc(100vh - 36px);

  display: flex;
  flex-direction: column;

  background: var(--cookie-bg);
  color: var(--cookie-fg);
  border: var(--cookie-border);
  /* border-radius: var(--cookie-radius); */
  box-shadow: var(--cookie-shadow);
  overflow: hidden;

  transform: translateY(18px);
  opacity: 0;
  transition: transform 180ms ease, opacity 180ms ease;

  pointer-events: none;    /* ✅ CLOSED: Card darf NICHT klickbar sein */
}

.cookie:target .cookie__card{
  transform: translateY(0);
  opacity: 1;

  pointer-events: auto;    /* ✅ OPEN: Card klickbar */
}

/* Header + Top-Actions bleiben "fest" */
.cookie__header{
  flex: 0 0 auto;
  padding: 18px 18px 6px 18px;
}

.cookie__title{
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.15;
  font-size: 22px;
  margin: 0 0 8px 0;
}

.cookie__desc{
  margin: 0 0 8px 0;
  color: var(--cookie-muted);
  line-height: 1.55;
}

.cookie__actions{
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 18px 18px 18px;
  border-top: var(--cookie-border);
  align-items: center;
}

/* Buttons */
.cookie__btn{
  appearance: none;
  border: 1px solid transparent;
  /* border-radius: 999px; */
  padding: 10px 14px;

  font-family: "Oswald", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  /* font-size: 13px; */

  cursor: pointer;
  user-select: none;

  min-width: 180px;
  text-align: center;

  background: transparent;
  color: var(--cookie-fg);
  border-color: color-mix(in srgb, var(--cookie-fg) 18%, transparent);

  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.cookie__btn:hover,
.cookie__btn:focus-visible{
  transform: translateY(-1px);
  outline: none;
  border-color: color-mix(in srgb, var(--cookie-accent) 70%, transparent);
}

.cookie__btn--primary{
  background: var(--cookie-accent);
  color: var(--t0022, #fff);
  border-color: transparent;
}

.cookie__btn--primary:hover,
.cookie__btn--primary:focus-visible{
  background: color-mix(in srgb, var(--cookie-accent) 86%, #000);
}

.cookie__btn--ghost{
  background: transparent;
}

.cookie__btn--settings{
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/* Toggle (CSS-only) */
.cookie__toggle{
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ✅ EIN Scroll-Container: Details (nur sichtbar wenn geöffnet) */
.cookie__details{
  flex: 1 1 auto;
  min-height: 0;                  /* EXTREM wichtig für scroll in flex */
  overflow: auto;                 /* hier scrollt es */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;   /* verhindert Scroll-Weitergabe an den Body (wo unterstützt) */

  border-top: var(--cookie-border);
  display: none;                  /* zu */
  background: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--cookie-bg) 94%, var(--cookie-surface)),
    var(--cookie-bg)
  );
}

/* geöffnet */
.cookie__toggle:checked ~ .cookie__details{
  display: block;
}

/* Grid-Inhalt */
.cookie__grid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 16px;
  padding: 18px;
  min-height: 0;
}

@media (max-width: 860px){
  .cookie__grid{
    grid-template-columns: 1fr;
  }
  .cookie__btn{
    min-width: 100%;
  }
}

/* Form */
.cookie__fieldset{
  border: 0;
  padding: 0;
  margin: 0;
}

.cookie__legend{
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
  margin-bottom: 12px;
}

.cookie__row{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--cookie-gap);
  padding: 14px;
  border: var(--cookie-border);
  /*border-radius: 12px;*/
  background: color-mix(in srgb, var(--cookie-bg) 88%, var(--cookie-surface));
  margin-bottom: 10px;
}

.cookie__rowTitle{
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
}

.cookie__rowText{
  margin: 0;
  color: var(--cookie-muted);
  line-height: 1.55;
}

.cookie__pill{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
  border: 1px solid color-mix(in srgb, var(--cookie-fg) 16%, transparent);
  color: var(--cookie-fg);
  background: transparent;
}

.cookie__pill--required{
  border-color: color-mix(in srgb, var(--cookie-accent) 65%, transparent);
  color: var(--cookie-accent);
}

/* Switch */
.cookie__rowControl input[type="checkbox"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cookie__switch{
  width: 56px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cookie-fg) 18%, transparent);
  display: inline-flex;
  align-items: center;
  padding: 4px;
  cursor: pointer;
  position: relative;
  background: transparent;
}

.cookie__switchTrack{
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cookie-fg) 7%, transparent);
}

.cookie__switchThumb{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--cookie-fg);
  transform: translateX(0);
  transition: transform 160ms ease, background 160ms ease;
  z-index: 1;
}

.cookie__rowControl input[type="checkbox"]:checked + .cookie__switch .cookie__switchThumb{
  transform: translateX(22px);
  background: var(--cookie-accent);
}

.cookie__rowControl input[type="checkbox"]:focus-visible + .cookie__switch{
  outline: 2px solid color-mix(in srgb, var(--cookie-accent) 70%, transparent);
  outline-offset: 2px;
}

.cookie__rowControl input[type="checkbox"]:disabled + .cookie__switch{
  cursor: not-allowed;
  opacity: .75;
}

/* Bottom actions innerhalb der Form */
.cookie__actions--bottom{
  border-top: none;
  padding: 14px 0 0 0;
}

/* Info side */
.cookie__info{
  border: var(--cookie-border);
  /*border-radius: 12px;*/
  padding: 14px;
  background: color-mix(in srgb, var(--cookie-bg) 88%, var(--cookie-surface));
}

.cookie__infoTitle{
  font-family: "Oswald", sans-serif;
  margin: 0 0 10px 0;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cookie__infoBox{
  border: var(--cookie-border);
  /*border-radius: 12px;*/
  padding: 12px;
  margin-bottom: 10px;
  background: var(--cookie-bg);
}

.cookie__infoBox h4{
  margin: 0 0 8px 0;
  font-size: 14px;
  font-family: "Oswald", sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cookie__infoBox ul{
  margin: 0;
  padding-left: 18px;
  color: var(--cookie-muted);
}

.cookie__infoBox li{
  margin: 6px 0;
}

.cookie__links{
  margin: 12px 0 0 0;
  color: var(--cookie-muted);
}

.cookie__link{
  color: var(--cookie-accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.cookie__link:hover,
.cookie__link:focus-visible{
  border-bottom-color: color-mix(in srgb, var(--cookie-accent) 60%, transparent);
  outline: none;
}

.cookie__note{
  margin: 10px 0 0 0;
  color: var(--cookie-muted);
  line-height: 1.55;
}

.cookie__fineprint{
  margin: 10px 0 0 0;
  color: var(--cookie-muted);
  font-size: 14px;
}

.cookie-fab:hover,
.cookie-fab:focus-visible{
  border-color: color-mix(in srgb, var(--cookie-accent) 70%, transparent);
  outline: none;
}

/* Hide top quick actions when Settings are open (PRIMARY: sibling selector) */
.cookie__toggle:checked ~ .cookie__actions{
  display: none !important;
}

/* Optional: give the header a bit more breathing room when actions are hidden */
.cookie__toggle:checked ~ .cookie__details{
  border-top: none;
}

/* OPTIONAL fallback/extra: if you ever change DOM order, :has can still hide actions */
.cookie__card:has(#cookie-settings-toggle:checked) > .cookie__actions{
  display: none !important;
}

.cookie__card:has(#cookie-settings-toggle:checked) > .cookie__header{
  padding-bottom: 18px;
}





img {
  width: 100%;
  height: auto;
}

img {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  color: var(--t0004);
}

span,
a,
a:hover {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

b {
  font-weight: 400;
  color: var(--t0005);
}

/* text field */
button,
input,
optgroup,
select,
textarea {
  font-family: "Oswald", sans-serif;
}

input[type="password"]:focus,
input[type="email"]:focus,
input[type="text"]:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus,
textarea:focus {
  outline: none;
}

input[type="password"],
input[type="email"],
input[type="text"],
input[type="file"],
textarea {
  max-width: 100%;
  margin-bottom: 10px;
  padding: 10px 0;
  height: auto;
  background-color: var(--t0006);
  -webkit-box-shadow: none;
  box-shadow: none;
  border-width: 0 0 1px;
  border-style: solid;
  display: block;
  width: 100%;
  line-height: 1.5em;
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--t0007);
  background-image: none;
  border-bottom: var(--t0008);
  border-color: ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

#interest {
  max-width: 100%;
  margin-bottom: 10px;
  padding: 10px 0;
  height: auto;
  background-color: var(--t0006);
  -webkit-box-shadow: none;
  box-shadow: none;
  border-width: 0 0 1px;
  border-style: solid;
  display: block;
  width: 100%;
  line-height: 1.5em;
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--t0007);
  background-image: none;
  border-bottom: var(--t0008);
  border-color: ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 0px;
}

input:focus,
textarea:focus {
  border-bottom-width: 1px;
  border-color: var(--t0009);
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
  text-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  line-height: 1.75em;
  -webkit-transition: background-color 0.15s ease-out;
  transition: background-color 0.15s ease-out;
  background: var(--t0010);
  border: var(--t0011);
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover {
  background-color: var(--t0012);
  color: var(--t0013);
  border: var(--t0014);
}

select {
  padding: 10px;
  border-radius: 5px;
}

table,
th,
tr,
td {
  border: var(--t0015);
}

th,
tr,
td {
  padding: 10px;
}

input[type="radio"],
input[type="checkbox"] {
  display: inline;
}

/* blockquote */
blockquote {
  padding: 45px;
  display: block;
  position: relative;
  background-color: var(--t0016);
  overflow: hidden;
  margin: 35px 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75em;
  color: var(--t0017);
}

blockquote p {
  font-family: inherit;
  margin-bottom: 0 !important;
  color: inherit;
  max-width: 650px;
  width: 100%;
  position: relative;
  z-index: 3;
}

blockquote:before {
  content: "\e645";
  font-family: "Themify";
  position: absolute;
  right: 40px;
  bottom: 40px;
  font-size: 110px;
  opacity: 0.07;
  line-height: 1;
  color: var(--t0018);
}

blockquote p {
  margin-bottom: 0;
}

blockquote p a {
  color: inherit;
}

blockquote cite {
  display: inline-block;
  font-size: 16px;
  position: relative;
  padding-left: 60px;
  border-color: inherit;
  line-height: 1;
  margin-top: 22px;
  font-style: normal;
  color: var(--t0019);
  font-weight: 400;
}

blockquote cite:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 45px;
  height: 1px;
  border-top: 1px solid;
  border-color: inherit;
  color: var(--t0020);
}

/* submit and alert success  */
input[type="submit"] {
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  background: var(--t0021);
  color: var(--t0022);
  padding: 8px 24px;
  margin: 0;
  position: relative;
  font-size: 16px;
  letter-spacing: 3px;
}

/* WCAG-fix für Submit Button */
form.contact__form input[type="submit"] {
  background-color: var(--t0441);
  color: var(--t0442); /* sehr dunkles Grau  jump here*/
}

.alert-success {
  background: var(--t0023);
  color: var(--t0024);
  border: var(--t0025);
  border-radius: 0px;
}

/* Placeholder */
::-webkit-input-placeholder {
  color: var(--t0026);
  font-size: 15px;
  font-weight: 400;
}

:-moz-placeholder {
  color: var(--t0027);
}

::-moz-placeholder {
  color: var(--t0028);
  opacity: 1;
}

:-ms-input-placeholder {
  color: var(--t0029);
}

.o-hidden {
  overflow: hidden;
}

.position-re {
  position: relative;
}

.full-width {
  width: 100%;
}

.bg-img {
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-fixed {
  background-attachment: fixed;
}

.pattern {
  background-repeat: repeat;
  background-size: auto;
}

.bold {
  font-weight: 600;
}

.count {
  font-family: "Oswald", sans-serif;
}

.valign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.v-middle {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

/* Für Auflösungen kleiner als 767px */
@media (max-width: 766px) {
  .v-middle {
    top: 45%;
  }
}



.js .animate-box {
  opacity: 0;
}

.map {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

/* Google Map darf nichts überdecken */
.iframeMap {
  position: relative;
  z-index: 0;
}

/* Kontaktformular explizit nach vorne holen */
#InvestNow\! .contact__form {
  position: relative;
  z-index: 5;
}

.map-embed {
  width: 100%;
  aspect-ratio: 16 / 9; /* alternativ: 4 / 3 */
  position: relative;
  overflow: hidden;
  border-radius: 12px; /* optional */
}

.map-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.map-embed iframe { width:100%; height:420px; border:0; }
.map-embed iframe:not([src]) { display:none; }
.embed-consent__placeholder { padding:12px; border:1px solid rgba(0,0,0,.15); }

:root {
  scroll-behavior: auto;
}

/* ======= Helper style ======= */
.mt-0 {
  margin-top: 0 !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.no-padding {
  padding: 0 !important;
}

/* ======= Selection style ======= */
::-webkit-selection {
  color: var(--t0030);
  background: var(--t0031);
}

::-moz-selection {
  color: var(--t0032);
  background: var(--t0033);
}

::selection {
  color: var(--t0034);
  background: var(--t0035);
}

/* ======= Owl-Theme custom style ======= */
.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 0px;
  line-height: 0.7;
  display: block;
}

.owl-theme .owl-dots .owl-dot span {
  width: 8px;
  height: 8px;
  margin: 0 3px;
  border-radius: 50%;
  background: var(--t0036);
  border: var(--t0037);
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--t0038);
  border: var(--t0039);
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel button.owl-dot {
  outline: none;
}

/* Owl Dots: Touch-Targets verbessern */
.owl-dots .owl-dot {
  padding: 0;
  margin: 22px;
  /* Abstand zwischen Targets */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  /* wichtig: nicht den ganzen Button einfärben */
  border: 0;
}

/* der sichtbare Punkt bleibt klein */
.owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: block;
}

/* optional: aktiver Punkt */
.owl-dots .owl-dot.active span {
  transform: scale(1.2);
}

/* ======= Section style ======= */
.section-padding {
  padding: 90px 0;
}

.section-padding2 {
  padding: 0 0 90px 0;
  position: relative;
}

.section-padding .header6 {
  color: var(--t0040);
  font-size: 20px;
  margin-bottom: 20px;
}

.section-title {
  font-size: 40px;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  color: var(--t0041);
  text-transform: uppercase;
  position: relative;
  letter-spacing: 10px;
  word-spacing: 5px;
  margin-bottom: 30px;
}

.section-title span {
  color: var(--t0042);
}

.section-title2 {
  font-size: 35px;
  font-weight: 300;
  color: var(--t0043);
  position: relative;
  line-height: 1.25em;
  margin-bottom: 30px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.section-title3 {
  font-size: 16px;
  font-weight: 300;
  color: var(--t0043);
  position: relative;
  line-height: 1.25em;
  margin-bottom: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
}

/* ======= Navbar style ======= */

/* ===== Theme Toggle in Navbar (wie Nav-Links) ===== */
.navbar .theme-toggle {
  background: transparent;
  border: 0;
  padding: 0;
  /*margin-left: 12px;       Abstand zu Links */
  cursor: pointer;
  display: inline-flex;
  align-items: center;

  /* wie normale Navlinks (unscrolled) */
  color: var(--t0046);

  transition: color 0.4s;
}

.navbar .theme-toggle:hover,
.navbar .theme-toggle:focus-visible {
  /* wie Navlink hover */
  color: var(--t0048);
  outline: none;
}

@media (max-width: 991px) {
  .theme-toggle {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0px !important;
  }
}

/* Desktop: Navbar-Items vertikal mittig ausrichten */
@media (min-width: 992px) {
  .navbar .navbar-nav {
    align-items: center;
    /* macht alles auf eine Höhe */
  }

  .navbar .theme-toggle-item {
    display: flex;
    align-items: center;
  }

  /* Button wie ein Nav-Link “box-model” */
  .navbar .theme-toggle {
    line-height: 1;
    /* nimmt den globalen button line-height Effekt raus */
    padding: 0 12px;
    /* wie nav-link left/right */
    margin: 1px;
    /* wie nav-link margin */
    height: auto;
  }
}

.nav-scroll .theme-toggle {
  /* wie Navlinks im Scroll-Zustand */
  color: var(--t0054);
}

.nav-scroll .theme-toggle:hover,
.nav-scroll .theme-toggle:focus-visible {
  /* weiterhin gold beim Hover */
  color: var(--t0048);
}

/* SVG: übernimmt die Button-Farbe */
.navbar .sun-and-moon {
  display: block;
}

.navbar .sun-and-moon > :is(.moon, .sun, .sun-beams) {
  transform-origin: center;
}

/* nur optionales Styling fürs mobile Submenu */
.investments-mobile-title {
  cursor: default;
}

.investments-mobile-list {
  list-style: none;
  padding-left: 1rem;
  /* Einrückung */
  margin: 0;
}

.investments-mobile-list .nav-link {
  padding: 0.25rem 0;
  /* kompakter */
}

/* Dark-mode Animation (dein Verhalten beibehalten) */
[data-theme="dark"] .sun-and-moon > .sun {
  transform: scale(1.75);
}

[data-theme="dark"] .sun-and-moon > .sun-beams {
  opacity: 0;
}

[data-theme="dark"] .sun-and-moon > .moon > circle {
  transform: translateX(-7px);
}

@supports (cx: 1) {
  [data-theme="dark"] .sun-and-moon > .moon > circle {
    cx: 17;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .sun-and-moon > .sun {
    transition: transform 0.5s var(--ease-elastic-3);
  }

  .sun-and-moon > .sun-beams {
    transition: transform 0.5s var(--ease-elastic-4), opacity 0.5s var(--ease-3);
  }

  .sun-and-moon .moon > circle {
    transition: transform 0.25s var(--ease-out-5);
  }

  @supports (cx: 1) {
    .sun-and-moon .moon > circle {
      transition: cx 0.25s var(--ease-out-5);
    }
  }

  [data-theme="dark"] .sun-and-moon > .sun {
    transition-timing-function: var(--ease-3);
    transition-duration: 0.25s;
  }

  [data-theme="dark"] .sun-and-moon > .sun-beams {
    transition-duration: 0.15s;
    transform: rotateZ(-25deg);
  }

  [data-theme="dark"] .sun-and-moon > .moon > circle {
    transition-duration: 0.5s;
    transition-delay: 0.25s;
  }
}

/* ===== Mobile Fix: Theme Toggle Farbe ===== */

/* Theme Toggle exakt wie Nav-Link behandeln */
.navbar .theme-toggle {
  color: var(--t0046);
}

/* Hover (auch Touch-Feedback) */
.navbar .theme-toggle:hover,
.navbar .theme-toggle:focus-visible {
  color: var(--t0048);
}

/* Scroll-Zustand */
.nav-scroll .theme-toggle {
  color: var(--t0054);
}

/* Scroll + Hover */
.nav-scroll .theme-toggle:hover,
.nav-scroll .theme-toggle:focus-visible {
  color: var(--t0048);
}

/* Theme toggle: Farbe kommt vom Button */
.navbar .theme-toggle {
  color: var(--t0046);
}

.nav-scroll .theme-toggle {
  color: var(--t0054);
}

/* SVG folgt der Button-Farbe */
.theme-toggle svg {
  fill: currentColor;
}

.theme-toggle .sun-beams {
  stroke: currentColor;
}

.navbar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: var(--t0044);
  z-index: 99;
  padding-right: 10%;
  padding-left: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-toggler-icon {
  background-image: none;
}

.navbar .navbar-toggler-icon,
.navbar .icon-bar {
  color: var(--t0045);
}

.navbar .navbar-nav .nav-link {
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--t0046);
  margin: 1px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  padding-right: 12px;
  padding-left: 12px;
  font-family: "Oswald", sans-serif;
}

.navbar .navbar-nav .nav-link.nav-color {
  color: var(--t0047);
}

.navbar .navbar-nav .nav-link:hover {
  color: var(--t0048);
}

.navbar .navbar-nav .active {
  color: var(--t0049);
}

.navbar .navbar-nav .active {
  color: var(--t0049);
}

.persActive {
  color: var(--t0049) !important;
}

.investments-mobile-active {
  color: var(--t0050) !important;
}

.nav-scroll {
  background: var(--t0051);
  padding: 0 10% 0 0;
  position: fixed;
  top: -100px;
  left: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  border: none;
  border-bottom: var(--t0052);
}

.nav-scroll .navbar-toggler-icon,
.nav-scroll .icon-bar {
  color: var(--t0053);
}

/* ===== Fix: Toggler-Bars verschwinden nicht mehr ===== */

/* Button-Box beibehalten, aber Icon-Farbe festlegen wie früher */
.navbar .custom-toggler {
  position: relative;
  color: var(--t0045);
  /* wie .navbar-toggler-icon in deinem CSS */
}

/* Wenn Navbar gescrollt ist: Icon-Farbe wie früher im Scroll-Zustand */
.nav-scroll .custom-toggler {
  color: var(--t0053);
  /* wie .nav-scroll .navbar-toggler-icon */
}

/* Falls dein CSS bei hover/focus/active die Button-Farbe überschreibt:
   Wir erzwingen die Icon-Farbe weiter (damit currentColor nicht "verschwindet") */
.navbar .custom-toggler:hover,
.navbar .custom-toggler:focus,
.navbar .custom-toggler:active {
  color: var(--t0045);
}

.nav-scroll .custom-toggler:hover,
.nav-scroll .custom-toggler:focus,
.nav-scroll .custom-toggler:active {
  color: var(--t0053);
}

/* Deine Bars */
.navbar .custom-toggler .bar {
  display: block;
  width: 22px;
  height: 2px;
  background-color: currentColor;
  margin: 5px auto;
  transition: transform 0.35s ease, opacity 0.2s ease;
}

/* Animation über aria-expanded */
.navbar .custom-toggler[aria-expanded="true"] .bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.navbar .custom-toggler[aria-expanded="true"] .bar:nth-child(2) {
  opacity: 0;
}

.navbar .custom-toggler[aria-expanded="true"] .bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* optional */
.navbar-toggler:focus {
  box-shadow: none;
}

.nav-scroll .navbar-nav .nav-link {
  color: var(--t0054);
}

.nav-scroll .navbar-nav .active {
  color: var(--t0055);
}

.nav-scroll .navbar-nav .logo {
  padding: 15px 0;
  color: var(--t0056);
}

.nav-scroll .logo-img {
  width: 100px;
}

.nav-scroll .logo {
  width: 100px;
}

.nav-scroll .logo-img {
  margin-bottom: 0px;
}

.nav-scroll .logo-wrapper .logo .header2 {
  font-family: "Oswald", sans-serif;
  font-size: 40px;
  font-weight: 400;
  margin-bottom: 0px;
  display: block;
  width: 100%;
  position: relative;
  color: var(--t0057);
  line-height: 1.25em;
  letter-spacing: 5px;
  display: none;
}

.nav-scroll .logo-wrapper .logo span {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  color: var(--t0058);
  font-weight: 400;
  letter-spacing: 3px;
  display: block;
  margin-top: 3px;
  line-height: 1.2em;
  text-transform: uppercase;
  margin-left: 5px;
  display: none !important;
}

.nav-scroll .logo-wrapper {
  padding: 12px 72px 12px 156px;
  background: var(--t0059);
}

.logo-wrapper {
  float: left;
  background: var(--t0060);
  padding: 48px 48px;
}

.logo-wrapper .logo .header2 {
  font-family: "Oswald", sans-serif;
  font-size: 45px;
  font-weight: 400;
  display: block;
  width: 100%;
  position: relative;
  color: var(--t0061);
  letter-spacing: 9px;
  margin-bottom: 0;
}

.logo-wrapper .logo .header2 a i {
  color: var(--t0062);
  font-size: 20px;
  vertical-align: super;
}

.logo-wrapper .logo span {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  color: var(--t0063);
  font-weight: 400;
  letter-spacing: 4px;
  display: block;
  margin-top: 5px;
  line-height: 1.5em;
  text-transform: uppercase;
}

.logo {
  padding: 0;
  width: 150px;
  text-align: center;
}

.logo-img {
  /*width: 75px;*/
  margin-bottom: 5px;
}

/* Standard: Seite ganz oben */
.logo-scroll {
  display: none;
}

/* Beim Scrollen */
.nav-scroll .logo-top {
  display: none;
}

.nav-scroll .logo-scroll {
  display: inline-block;
}

/* Mobile: kein Logo-Wechsel */
@media (max-width: 991px) {
  .logo-scroll {
    display: inline-block !important;
  }
  .logo-top {
    display: none !important;
  }
}

.logo-img {
  transition: opacity 0.25s ease;
}

.dropdown .nav-link i {
  padding-left: 0px;
  font-size: 8px;
  color: var(--t0064);
}

.nav-scroll .dropdown .nav-link i {
  color: var(--t0065);
}

.dropdown .nav-link.nav-color i {
  color: var(--t0066);
}

.navbar .dropdown-menu .dropdown-item {
  padding: 6px 0;
  font-family: "Didact Gothic", sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--t0067);
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  background-color: var(--t0068);
}

.navbar .dropdown-menu .dropdown-item span {
  display: block;
  cursor: pointer;
}

.navbar .dropdown-menu .dropdown-item i {
  padding: 13px 0 0 5px;
  font-size: 8px;
  float: right;
}

.navbar .dropdown-menu .dropdown:hover > .dropdown-item,
.navbar .dropdown-menu .dropdown-item.active,
.navbar .dropdown-menu .dropdown-item:hover {
  color: var(--t0069);
}

.navbar .dropdown-toggle::after {
  display: none;
}

.navbar .dropdown-menu li {
  border-bottom: var(--t0070);
}

.navbar .dropdown-menu li:last-child {
  border-bottom: none;
}

.navbar .dropdown-menu .dropdown-menu.pull-left {
  top: 0;
  left: auto;
  right: 100%;
}

/* Navbar Media Query */
@media screen and (min-width: 992px) {
  .navbar .dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    width: 199px;
    padding: 15px;
    border-radius: 0;
    border: 0;
    background-color: var(--t0071);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }

  .navbar .dropdown-menu .dropdown-menu {
    left: calc(100% + 5px);
    top: -10px;
    right: auto;
    min-width: 199px;
    transform: translateY(0);
  }

  .navbar .dropdown:hover > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}

@media screen and (max-width: 991px) {
  .navbar {
    padding-left: 0px;
    padding-right: 0px;
    /*background: var(--t0072);*/

    padding-top: 0px;
    padding-bottom: 0px;
    border: 5px;
  }

  .nav-scroll {
    background: var(--t0073);
  }

  .logo-wrapper {
    float: left;
    padding: 15px;
  }

  .logo-wrapper .logo .header2 {
    display: none;
  }

  .nav-scroll .logo-wrapper {
    padding: 15px;
    background-color: var(--t0074);
  }

  .nav-scroll .logo-img {
    width: 100px;
  }

  .navbar .logo {
    text-align: left;
    margin-left: 0px;
  }

  .nav-scroll .logo {
  }

  .logo-img {
    margin-bottom: 0px;
  }

  .navbar button {
    margin-right: 0px;
    outline: none !important;
    background: var(--t0075);
    /*
        margin-top: 10px;
        */
    border: none;
  }

  .navbar button:hover {
    background: var(--t0076);
  }

  .navbar button:active,
  .navbar button:focus,
  .navbar button:hover {
    background: var(--t0077);
    outline: none;
    color: var(--t0078);
  }

  .navbar .container {
    max-width: 100%;
    padding: 0;
  }

  .navbar .nav-link {
    margin: 0px auto !important;
  }

  .navbar .navbar-nav .nav-link {
    color: var(--t0079);
  }

  .nav-scroll .navbar-collapse .nav-link {
    color: var(--t0080);
  }

  .nav-scroll .navbar-collapse .active {
    color: var(--t0081);
  }

  .navbar .dropdown-menu .dropdown-item {
    padding: 0 15px;
    font-size: 15px;
    line-height: 40px;
  }

  .navbar .dropdown-menu .dropdown-item.dropdown-toggle {
    font-weight: 500;
  }

  .navbar .dropdown-submenu .dropdown-toggle::after {
    right: 15px;
    font-size: 13px;
  }

  .navbar .dropdown-submenu:hover > .dropdown-toggle::after {
    transform: rotate(0deg);
  }

  .navbar .dropdown-submenu .dropdown-toggle.show::after {
    transform: rotate(90deg);
  }

  .navbar .dropdown-menu {
    border: none;
    padding: 0;
    border-radius: 0;
    margin: 0;
    background: var(--t0082);
  }

  .navbar .dropdown-submenu .dropdown-menu {
    margin: 0;
    padding: 0 0 0 20px;
  }

  .navbar .dropdown-menu li a {
    padding: 0 15px;
  }

  .navbar .navbar-nav .nav-link {
    padding-right: 0px;
    padding-left: 0px;
  }

  .dropdown .nav-link i {
    color: var(--t0083);
  }
}

@media screen and (max-width: 991px) {
  /* Menü geschlossen = kein Hintergrund sichtbar */
  .navbar .navbar-collapse:not(.show):not(.collapsing) {
    background: transparent !important;
    padding: 0 !important;
    overflow: hidden;
  }

  /* Menü öffnet oder ist offen = Hintergrund + Padding */
  .navbar .navbar-collapse.show,
  .navbar .navbar-collapse.collapsing {
    background: var(--t0084) !important;
    padding: 20px !important;
    overflow: auto;
    text-align: left;
  }

  /* Extra Schutz gegen Bootstrap Zwischenzustand */
  .navbar .navbar-collapse.collapsing {
    transition: none !important;
  }
}

/* ===== FIX: Navbar-Collapse Flackern beim Logo-Wechsel ===== */
@media (max-width: 991px) {
  /* Bootstrap-Zwischenzustand entschärfen */
  .navbar-collapse.collapsing {
    height: auto !important;
    transition: none !important;
    overflow: hidden !important;
    background: transparent !important;
  }

  /* Menü geschlossen = absolut unsichtbar */
  .navbar-collapse:not(.show):not(.collapsing) {
    background: transparent !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* Menü offen = Hintergrund + Padding */
  .navbar-collapse.show {
    background: var(--t0084) !important;
    padding: 20px !important;
  }
}

/* Stabilisiert Layout beim Scroll/Logo-Wechsel */
.navbar {
  will-change: transform;
}

/* verhindert Höhen-Jump beim Logo-Tausch */
.logo-wrapper {
  min-height: 60px;
  /* ggf. an Logo anpassen */
}

@media (max-width: 991px) {
  /* Wenn Menü offen: auch die gesamte Navbar einfärben (Logo + Toggler Bereich) */
  .navbar.nav-open:not(.nav-scroll) {
    background: var(--t0084) !important;
  }

  /* Optional: wenn du willst, dass die Navbar während offen "fixed" bleibt */
  /* .navbar.nav-open:not(.nav-scroll) { position: fixed; top: 0; left: 0; right: 0; } */
}

/*navbar static oben rechts*/

.login-corner {
  position: absolute;
  top: 53px;
  right: 53px;
  z-index: 1000;
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--t0046);
  background: transparent;
  text-decoration: none;
  transition: color 0.3s ease;
}
.login-corner:hover {
  color: var(--t0048);
}
@media (max-width: 991px) {
  .login-corner {
    display: none;
  }
}

/*navbar Login in Navbar*/
.login-link {
  background: transparent;
  color: var(--t0046); /* weiß */
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  letter-spacing: 4px;
  text-transform: uppercase;
  padding: 0 12px;
  transition: color 0.3s ease;
}

/* Hover = Gold */
.login-link:hover {
  color: var(--t0048); /* Gold */
}

/* Scroll-Zustand */
.nav-scroll .login-link {
  color: var(--t0054); /* weiß */
}

.nav-scroll .login-link:hover {
  color: var(--t0048); /* Gold */
}

/* Desktop: Login leicht abgesetzt */
@media (min-width: 992px) {
  .login-item {
    margin-left: 24px;
    border-left: 1px solid rgba(177, 151, 119, 0.3);
  }
}

/* Mobile: komplett neutral wie normaler Nav-Link */
@media (max-width: 991px) {
  .login-item {
    margin-left: 0;
    border-left: none;
  }
}

.nav-scroll {
  border-bottom: 10px solid transparent;
}

/* ======= Header style ======= */
.header {
  min-height: 100vh;
  overflow: hidden;
}

.header .caption .o-hidden {
  display: inline-block;
}

.header .caption .header2 {
  font-weight: 400;
  font-size: 30px;
}

.header .caption .header4 {
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 5px;
  color: var(--t0085);
  text-align: right;
  margin-bottom: 30px;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.header .caption .header1 {
  position: relative;
  margin-bottom: 20px;
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  text-transform: uppercase;
  line-height: 1.35em;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
  color: var(--t0086);
  font-weight: 400;
  letter-spacing: 15px;
}

.header .caption p {
  font-size: 18px;
  line-height: 1.75em;
  margin-bottom: 0;
  color: var(--t0087);
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  margin-right: 15px;
}

.header .caption p span {
  letter-spacing: 5px;
  text-transform: uppercase;
  margin: 0 5px;
  padding-right: 14px;
  position: relative;
}

.header .caption p span:last-child {
  padding: 0;
}

.header .caption p span:last-child:after {
  display: none;
}

.header .caption p span:after {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--t0088);
  position: absolute;
  top: 10px;
  right: 0;
  opacity: 0.5;
}

.header .caption .butn-light {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
  margin-right: 15px;
}

.header .social a {
  color: var(--t0089);
  font-size: 20px;
  margin: 10px 15px;
}

/* Typewriter Start */

/* Typewriter Container (auch Fallback) */
:is(#typewriter, #typewriter-fallback) {
  display: inline-block;
  white-space: normal;
}

/* Jede Zeile als eigene Row */
:is(#typewriter, #typewriter-fallback) .tw-line {
  position: relative;
  display: block;
  width: fit-content;
  padding: 0.02em 0.08em;
}

/* Balken hinter der Zeile */
:is(#typewriter, #typewriter-fallback) .tw-bar {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scaleX(0); /* Start: eingeklappt */
  transform-origin: left center;
  height: 1.5em;
  width: var(--tw-bar-w, 0px); /* Zielbreite */
  background: var(--t0096); /* Hintergrundfarbe */
  /* background: #ffffff4f; */

  border-radius: 0em;
  z-index: 0;

  opacity: 0;
  will-change: transform, opacity;
}

/* Balken aktiv: sichtbar + wipe */
:is(#typewriter, #typewriter-fallback) .tw-line.bar-on .tw-bar {
  opacity: 1;
  animation: tw-wipe 240ms ease forwards;
}

@keyframes tw-wipe {
  from {
    transform: translateY(-50%) scaleX(0);
  }
  to {
    transform: translateY(-50%) scaleX(1);
  }
}

/* Text über dem Balken */
:is(#typewriter, #typewriter-fallback) .tw-text {
  position: relative;
  z-index: 1;
  color: var(--t0041);
}

/* Akzent-Farbe für {..} */
:is(#typewriter, #typewriter-fallback) .tw-accent {
  color: var(--t0005);
}

/* Cursor */
:is(#typewriter, #typewriter-fallback) .tw-cursor {
  display: inline-block;
  margin-left: 5px;
  opacity: 0;
  transform: translateY(0.02em);
}

/* Cursor-Blink (auch für Fallback) */
:is(#typewriter, #typewriter-fallback).cursor-blink .tw-cursor {
  opacity: 1;
  animation: tw-blink 1s steps(1) infinite;
}

@keyframes tw-blink {
  0%,
  50% {
    opacity: 1;
  }
  51%,
  100% {
    opacity: 0;
  }
}

/* Unsichtbares Mess-Element */
.tw-measure {
  position: absolute;
  left: -99999px;
  top: -99999px;
  visibility: hidden;
  white-space: pre;
  pointer-events: none;
}

/* Kein Umbruch innerhalb einer Zeile */
:is(#typewriter, #typewriter-fallback) .tw-line,
:is(#typewriter, #typewriter-fallback) .tw-text {
  white-space: nowrap;
}

/* Fallback sichtbar */
#typewriter-fallback {
  display: inline-block;
}

/* Echter Typewriter initial versteckt (JS blendet ihn später ein) */
#typewriter {
  display: none;
}

#typewriter,
#typewriter-fallback {
  transition: opacity 200ms ease;
}

.goldspan {
  color: #b19777;
}


/* Fallback: Bar folgt der Zeilenbreite automatisch */
#typewriter-fallback .tw-bar {
  width: calc(100%) !important; /* +1ch = “ein Leerzeichen” extra */
}

#typewriter-fallback .tw-bar {
  animation: none !important;
  transform: translateY(-50%) scaleX(1) !important;
  opacity: 1 !important;
  will-change: auto !important;
}

/* Cursor im Fallback abschalten */
#typewriter-fallback .tw-cursor,
#typewriter-fallback.cursor-blink {
  animation: none !important;
}

/* Übergänge nur im Fallback killen */
#typewriter-fallback {
  transition: none !important;
}

/*Typewriter End*/

/* ======= Slider style ======= */
.slider .owl-item,
.slider-fade .owl-item {
  height: 100vh;
  position: relative;
}

.slider .item,
.slider-fade .item {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.slider .item .caption,
.slider-fade .item .caption {
  z-index: 9;
}

.slider .owl-theme .owl-dots,
.slider-fade .owl-theme .owl-dots {
  position: absolute;
  bottom: 5vh;
  width: 100%;
}

/* owl-nav next and prev */
.owl-nav {
  position: absolute;
  bottom: 3%;
  left: 12%;
}

.owl-prev {
  float: left;
}

.owl-next {
  float: right;
}

.slider-fade .owl-theme .owl-nav [class*="owl-"],
.project-page .owl-theme .owl-nav [class*="owl-"] {
  width: 40px;
  height: 40px;
  line-height: 34px;
  background: var(--t0090);
  border-radius: 100%;
  color: var(--t0091);
  font-size: 11px;
  margin-right: 3px;
  cursor: pointer;
  border: var(--t0092);
  transition: all 0.2s ease-in-out;
  transform: scale(1);
}

.owl-theme .owl-nav [class*="owl-"]:hover {
  transform: scale(0.9);
  background: var(--t0093);
  border: var(--t0094);
  color: var(--t0095);
}

@media screen and (max-width: 768px) {
  .owl-nav {
    display: none;
  }
}

/* ======= Slider left panel style ======= */
.left-panel {
  background: var(--t0096);
  position: absolute;
  width: 108px;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
}

@media (max-width: 1516px) {
  .left-panel {
    display: none !important;
  }

  .logo-wrapper {
    background: none !important;
  }
}

.social-left {
  display: block;
  margin: 0;
  padding: 10px 0;
  list-style: none;
  text-align: center;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 24px;
  background: var(--t0097);
  z-index: 10;
}

.social-left:before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: 70px;
  top: -70px;
  background: var(--t0098);
}

.social-left li {
  display: block;
  margin: 0;
  padding: 3px 0;
}

.social-left li:first-child {
}

.social-left li a {
  display: inline-block;
  text-decoration: none;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 13px;
  border: var(--t0099);
  color: var(--t0100);
  border-radius: 100%;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.social-left li a:hover {
  color: var(--t0101);
  border: var(--t0102);
}

@media (max-width: 1259.98px) {
  .left-panel {
    width: 100px;
  }
}

@media (max-width: 991.98px) {
  .left-panel {
    width: 50px;
  }
}

@media (max-width: 767.98px) {
  .left-panel {
    display: none;
  }
}

/* ======= Page Banner Header style ======= */
.banner-header {
  height: 50vh;
  z-index: -2;
}

.banner-header .header6 {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 10px;
}

.banner-header .header6 a:hover {
  color: var(--t0103);
}

.banner-header .header6 i {
  margin: 0 15px;
  font-size: 10px;
}

.banner-header .header5 {
  color: var(--t0104);
  font-size: 17px;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  margin-bottom: 5px;
}

.banner-header .header1 {
  font-size: 40px;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  color: var(--t0105);
  position: relative;
  margin-bottom: 10px;
  line-height: 1.2em;
}

.banner-header p {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 0;
  color: var(--t0106);
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.banner-header p a {
  color: var(--t0107);
}

@media screen and (max-width: 767px) {
  .banner-header {
    height: 30vh;
    margin-top: 70px;
  }

  .banner-header .header6 {
    font-size: 12px;
    font-weight: 400;
    margin-bottom: 10px;
  }

  .banner-header .header6 a:hover {
    color: var(--t0108);
  }

  .banner-header .header6 i {
    margin: 0 15px;
    font-size: 10px;
  }

  .banner-header .header5 {
  }

  .banner-header .header1 {
  }

  .banner-header p {
    font-size: 20px;
    color: var(--t0109);
  }
}

.banner-hero-img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-1;
}

.banner-img:after {
  position: absolute;
  height: 100%;
  right: 0;
  left: 0;
  content: "";
  background: var(--t0110);
  background: var(--t0111);
  object-fit: cover;
}

/* =======  Content Lines style  ======= */
.content-wrapper {
  position: relative;
}

.content-lines-wrapper {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.content-lines-inner {
  position: absolute;
  width: 1140px;
  left: 50%;
  margin-left: -570px;
  top: 0;
  height: 100%;
  border-left: var(--t0112);
  border-right: var(--t0113);
  border-bottom: var(--t0114);
}

.content-lines {
  position: absolute;
  left: 33.666666%;
  right: 33.666666%;
  height: 100%;
  border-left: var(--t0115);
  border-right: var(--t0116);
}

/* =======  Video Background  ======= */
.video-fullscreen-wrap {
  height: 100vh;
  overflow: hidden;
}

.video-fullscreen-video {
  height: 100%;
}

.video-fullscreen-wrap video {
  width: 100vw;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.video-fullscreen-wrap .video-fullscreen-inner {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: right;
}

.video-lauch-wrapper {
  border: none;
  background: none;
  width: 100%;
  padding: 0;
}

.video-fullscreen-wrap .video-fullscreen-inner .header1 {
  position: relative;
  margin-bottom: 20px;
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  text-transform: uppercase;
  line-height: 1.35em;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
  color: var(--t0117);
  font-weight: 400;
  letter-spacing: 15px;
}

.video-fullscreen-wrap .video-fullscreen-inner p {
  font-size: 18px;
  line-height: 1.75em;
  margin-bottom: 0;
  color: var(--t0118);
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
  margin-right: 15px;
}

.video-fullscreen-wrap .video-fullscreen-inner .butn-light {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
  margin-right: 15px;
}

.position-relative {
  position: relative !important;
}

@media screen and (max-width: 767px) {
  .video-fullscreen-wrap .video-fullscreen-inner .header1 {
    font-size: 20px;
    margin-bottom: 15px;
    letter-spacing: 10px;
    line-height: 1.35em;
  }

  .video-fullscreen-wrap .video-fullscreen-inner p {
    font-size: 15px;
    margin-right: 10px;
  }
}

/*Down Arrow*/

.video-fullscreen-wrap {
  position: relative;
}

#section07 .downarrow {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 2;
  display: inline-block;

  transform: translate(-50%, 0);

  color: #fff;
  font: normal 400 20px/1 "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  text-decoration: none;

  transition: opacity 0.3s;
  z-index: 30;
}

#section07 .downarrow:hover {
  opacity: 0.5;
}

#section07 .downarrow {
  padding-top: 80px;
}

#section07 .downarrow span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;

  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;

  transform: rotate(-45deg);

  animation: downarrow 2s infinite;
  opacity: 0;

  box-sizing: border-box;
}

#section07 .downarrow span:nth-of-type(1) {
  animation-delay: 0s;
}
#section07 .downarrow span:nth-of-type(2) {
  top: 16px;
  animation-delay: 0.15s;
}
#section07 .downarrow span:nth-of-type(3) {
  top: 32px;
  animation-delay: 0.3s;
}

/* Animation */
@keyframes downarrow {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.video-fullscreen-wrap .downarrow {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);

  z-index: 50;
  display: inline-block;
  padding-top: 80px;

  color: var(--t0042);
  font: normal 400 20px/1 "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: opacity 0.3s;
}

.video-fullscreen-wrap .downarrow:hover {
  opacity: 0.5;
}

.video-fullscreen-wrap .downarrow span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;

  border-left: 2px solid var(--t0060);
  border-bottom: 2px solid var(--t0060);

  transform: rotate(-45deg);
  animation: downarrow 1s infinite;
  opacity: 0;
  box-sizing: border-box;
}

.video-fullscreen-wrap .downarrow span:nth-of-type(1) {
  animation-delay: 0s;
}
.video-fullscreen-wrap .downarrow span:nth-of-type(2) {
  top: 16px;
  animation-delay: 0.15s;
}
.video-fullscreen-wrap .downarrow span:nth-of-type(3) {
  top: 32px;
  animation-delay: 0.3s;
}

@keyframes downarrow {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* Standard: verstecken */
#downarrowID {
  display: none;
}

/* Nur auf Mobile anzeigen (bis 768px Breite) */
@media (max-width: 991px) {
  #downarrowID {
    display: block;
  }
}

/* ======= About style ======= */
.about {
  padding-bottom: 90px;
}

.about .about-img img:hover {
  transform: scale(0.95);
}

.about .about-img {
  position: relative;
}

.about .about-img .img {
  padding: 0 15px 30px 30px;
  position: relative;
}

.about .about-img .img:before {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  right: 45px;
  bottom: 0;
  border: var(--t0119);
}

.about .about-img .img img {
  position: relative;
  z-index: 2;
  background: var(--t0120);
}

.about-img-2 {
  position: relative;
}

.about-img .about-img-2 {
  width: 40% !important;
  position: absolute;
  bottom: 0px;
  right: 45px;
  z-index: 3;
  padding: 20px 15px;
  color: var(--t0121);
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  letter-spacing: 5px;
  font-size: 13px;
  line-height: 1.5em;
  text-align: center;
}

.about-buro {
  background: var(--t0122);
}

.coPipeOneHeader {
  color: var(--t0041) !important;
  font-size: larger;
}

.coPipeOne {
  font-size: larger;
}

/* ======= Team style ======= */
.team .item {
  margin-bottom: 30px;
}

.team .item:hover .info .social {
  top: 0;
}

.team .info {
  text-align: center;
  padding: 30px 20px;
  position: relative;
  overflow: hidden;
}

.team .info .header6 {
  font-size: 17px;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: 3px;
  color: var(--t0123);
}

.team .info p {
  margin-bottom: 5px;
  color: var(--t0124);
}

.team .info .social {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--t0125);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.team .info .social a {
  font-size: 15px;
  color: var(--t0126);
  margin: 0 5px;
}

.team .info .social a:hover {
  color: var(--t0127);
}

/* ======= Team Details style ======= */
.team-details {
  color: var(--t0128);
}

.team-details .header3 {
  font-size: 25px;
  margin-bottom: 0px;
  color: var(--t0129);
  letter-spacing: 3px;
  font-weight: 300;
  text-transform: uppercase;
}

.team-details .content {
  background-color: var(--t0130);
}

.team-details .text-content {
  position: relative;
  padding: 30px 15px;
}

.team-details .content .team-details-info {
  padding: 10px 0 30px 0;
  position: relative;
}

.team-details .content .info-list {
  margin: 0;
  padding: 0;
}

.team-details .content .info-list li {
  position: relative;
  font-size: 16px;
  line-height: 24px;
  display: block;
  float: left;
  list-style: square;
  padding: 5px 0;
  display: inline-block;
  width: calc(48% - 1px);
}

.team-details .content .info-list .list-title {
  font-family: "Didact Gothic", sans-serif;
  text-indent: 0;
  width: auto;
  display: inline;
  margin-right: 3px;
  position: relative;
  color: var(--t0131);
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
}

.team-details .content .info-list .list-description {
  display: inline;
}

.team-details .content ul.social-icons {
  margin: 0;
  padding: 0;
}

.team-details .content .social-icons li {
  display: inline-block;
  border: none;
  z-index: 1;
  position: relative;
}

.team-details .content .social-icons li {
  margin: 0 2px;
}

.team-details .content .social-icons li:last-child {
  margin-right: 0;
}

.team-details .content .social-icons li a {
  display: block;
  min-width: 26px;
  text-align: center;
}

.team-details .content .social-icons.circle li > a {
  border-width: 1px;
  border-style: solid;
  height: 33px;
  width: 33px;
  line-height: 33px;
  text-align: center;
  display: block;
  background-color: var(--t0132);
  font-size: 14px;
  border-radius: 50%;
}

.team-details .content .social-icons.square li {
  margin: 0 0;
}

.team-details .content .social-icons.square li a {
  font-size: 12px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  color: inherit;
  margin-right: 8px;
  border: var(--t0133);
  color: var(--t0134);
  border-radius: 50%;
}

.team-details .content .social-icons.square li a:hover {
  border: var(--t0135);
}

@media only screen and (max-width: 480px) {
  .team-details .content .info-list li {
    width: 100%;
  }
}

/* ======= Careers style ======= */
.position {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: -1px;
  padding: 40px 45px 40px 50px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  border-top: var(--t0136);
  border-bottom: var(--t0137);
  background-color: var(--t0138);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.position-link {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.position-title {
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-flex-basis: 30%;
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  color: var(--t0139);
}

.position-title span {
  font-family: "Didact Gothic", sans-serif;
  color: var(--t0140);
  display: block;
  text-transform: none;
  letter-spacing: 0px;
}

.position-location {
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  -webkit-flex-basis: 40%;
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  color: var(--t0141);
}

.position-location span {
  font-family: "Didact Gothic", sans-serif;
  color: var(--t0142);
  display: block;
  text-transform: none;
  letter-spacing: 0px;
}

.position-time {
  font-weight: 400;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  color: var(--t0143);
}

.position-time span {
  font-family: "Didact Gothic", sans-serif;
  color: var(--t0144);
  display: block;
  text-transform: none;
  letter-spacing: 0px;
}

.position-icon {
  font-size: 16px;
  line-height: 1;
  color: var(--t0145);
}

.position-icon i {
  display: inline-block;
}

/* hover */
.position:hover {
  background-color: var(--t0146);
}

.position:hover .position-title,
.position:hover .position-title span,
.position:hover .position-location,
.position:hover .position-location span,
.position:hover .position-time,
.position:hover .position-time span,
.position:hover .position-icon {
  color: var(--t0147);
}

@media only screen and (max-width: 991px) {
  .position {
    flex-direction: column;
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .position-title {
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .position-location {
    margin-top: 15px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .position-time {
    margin-top: 15px;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }

  .position-icon {
    display: none;
  }
}

/* ======= Services style ======= */
.services {
}

.services .item {
  padding: 60px 30px;
  margin-bottom: 30px;
  position: relative;
}

.services .item:hover {
  background: var(--t0148);
}

.services .item:hover .numb {
  color: var(--t0149);
  -webkit-text-stroke: var(--t0150);
}

.services .item .header5 {
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 15px;
  color: var(--t0151);
  text-transform: uppercase;
  letter-spacing: 5px;
}

.services .item p {
  margin-bottom: 0;
}

.services .item img {
  width: 60px;
  margin-bottom: 20px;
}

.services .item .numb {
  font-size: 40px;
  font-weight: 600;
  font-family: "Oswald", sans-serif;
  position: absolute;
  bottom: 30px;
  right: 30px;
  color: var(--t0152);
  -webkit-text-stroke: var(--t0153);
  line-height: 1em;
}

/* line animation */
.services .item .line {
  width: 100%;
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
}

.services .item .line:after {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 50px;
  height: 1px;
  background-color: var(--t0154);
  content: "";
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.services .item:hover .line:after {
  width: 100%;
  background-color: var(--t0155);
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out;
}

/* ======= Services 2 ======= */
.services2 {
  text-align: center;
  position: relative;
  padding-bottom: 30px;
}

.services2 .title-box {
  position: absolute;
  left: 40px;
  right: 40px;
  bottom: 0;
  z-index: 2;
  background-color: var(--t0156);
  padding: 20px 0;
  opacity: 1;
  visibility: visible;
  margin-bottom: 0;
  color: var(--t0157);
}

.services2 .title-box .header3 {
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 15px;
  color: var(--t0158);
  text-transform: uppercase;
  letter-spacing: 5px;
}

.services2 .services2-img {
  position: relative;
}

.services2 .services2-img:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  background-color: var(--t0159);
  opacity: 0.7;
  visibility: hidden;
}

.services2 .services2-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 45%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 20px;
  margin-top: 50px;
  opacity: 0;
  visibility: hidden;
}

.services2 .icon img {
  width: 60px;
  color: var(--t0160);
  margin-bottom: 20px;
}

.services2 .services2-title {
  font-size: 20px;
  font-weight: 300;
  margin-bottom: 15px;
  color: var(--t0161);
  text-transform: uppercase;
  letter-spacing: 5px;
}

.services2 .services2-subtitle {
  color: var(--t0162);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.services2 .services2-text {
  color: var(--t0163);
  margin-left: auto;
  margin-right: auto;
}

.services2 .title-box,
.services2 .services2-content,
.services2 .services2-img:before {
  -webkit-transition: all ease 0.4s;
  transition: all ease 0.4s;
}

.services2:hover .services2-content {
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  margin-top: 1px;
}

.services2:hover .title-box {
  opacity: 0;
  visibility: hidden;
  margin-bottom: 80px;
}

.services2:hover .services2-img::before {
  height: 100%;
  visibility: visible;
}

@media (max-width: 1199px) {
  .services2 .title-box {
    left: 20px;
    right: 20px;
    padding: 25px 0;
  }

  .services2 .services2-text {
  }
}

/* ======= Services 3 ======= */
.services3 {
  text-align: left;
  margin: 0;
  margin-bottom: 30px;
  padding: 40px;
  padding-bottom: 0;
  background: var(--t0164);
  border-bottom: var(--t0165);
  transition: 0.2s;
  overflow: hidden;
  cursor: pointer;
  z-index: 3;
}

.services3:hover {
  background: var(--t0166);
  z-index: 100;
  border-bottom: var(--t0167);
}

.services3-text-area p {
  transition: 0.25s;
  font-family: inherit !important;
  opacity: 0;
  color: var(--t0168);
  margin-bottom: -35px;
}

.services3:hover .services3-text-area p {
  opacity: 1;
}

.services3-img-area,
.services3-text-area {
  display: inline-block;
  vertical-align: bottom;
  transition: transform 0.2s ease-in-out;
}

.services3-heading {
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  color: var(--t0169);
  text-transform: uppercase;
  letter-spacing: 5px;
  font-weight: 300;
}

.services3-img-area {
  font-size: 42px;
  color: var(--t0170);
  margin-bottom: 20px;
  margin-right: 0;
  float: left;
  width: 100%;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}

.services3:hover .services3-text-area,
.services3:hover .services3-img-area {
  -webkit-transform: translate3d(0, -67px, 0);
  transform: translate3d(0, -67px, 0);
}

.services3:hover .services3-img-area {
  opacity: 0;
}

.services3 .services3-img-area img {
  margin-bottom: 5px;
  max-height: 40px;
  width: auto;
}

/* ======= Services 4 ======= */
.services4 {
  color: var(--t0171);
  position: -webkit-sticky;
}

.services4 .square-flip {
  -webkit-perspective: 1000;
  -moz-perspective: 1000;
  -ms-perspective: 1000;
  perspective: 1000;
  -webkit-transform: perspective(1000px);
  -moz-transform: perspective(1000px);
  -ms-transform: perspective(1000px);
  transform: perspective(1000px);
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  position: relative;
  background-size: cover;
  background-position: center center;
}

.services4 .square-flip {
  min-height: 420px;
  margin-bottom: 30px;
}

.services4 .square,
.services4 .square2 {
  width: 100%;
  height: 100%;
}

.services4 .square {
  background-size: cover;
  background-position: center center;
  -webkit-transition: -webkit-transform 0.9s
    cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -o-transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25),
    -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  overflow: hidden;
  position: absolute;
  top: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.services4 .square .header4 {
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 5px;
  color: var(--t0172);
  font-size: 18px;
  text-align: left;
  margin-bottom: 0;
  display: inline-flex;
}

.services4 .square-flip .square {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  z-index: 1;
}

.services4 .square-flip:hover .square {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.services4 .square2 {
  background: var(--t0173);
  background-size: cover;
  background-position: center center;
  -webkit-transition: -webkit-transform 0.9s
    cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -o-transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25),
    -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  overflow: hidden;
  position: absolute;
  top: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.services4 .square2:before {
  top: 25px;
  left: 15px;
  right: 15px;
  bottom: 25px;
}

.services4 .square2 .header4 {
  font-size: 20px;
  color: var(--t0174);
  text-transform: uppercase;
  letter-spacing: 5px;
  font-weight: 300;
}

.services4 .square2 p {
  font-size: 16px;
  color: var(--t0175);
}

.services4 .square2 .icon img {
  width: 60px;
  color: var(--t0176);
  margin-bottom: 20px;
}

.services4 .btn-line a {
  border-bottom: var(--t0177);
  color: var(--t0178);
}

.services4 .btn-line a:hover {
  border-bottom: var(--t0179);
  color: var(--t0180);
}

.services4 .square-flip .square2 {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  z-index: 1;
}

.services4 .square-flip:hover .square2 {
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.services4 .square-container {
  padding: 40px;
  text-align: center;
  height: 420px;
  position: relative;
  -webkit-transition: -webkit-transform 0.9s
    cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -o-transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25),
    -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -webkit-transform: translateX(0px) scale(1);
  -ms-transform: translateX(0px) scale(1);
  transform: translateX(0px) scale(1);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  z-index: 2;
}

.services4 .square-container .box-title {
  /*	width: 100%;*/
}

.text-vertical {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.services4 .square-flip:hover .square-container {
  -webkit-transform: translateX(-650px) scale(0.88);
  -ms-transform: translateX(-650px) scale(0.88);
  transform: translateX(-650px) scale(0.88);
}

.services4 .square-container2 {
  padding: 30px;
  text-align: left;
  position: relative;
  top: 50%;
  -webkit-transition: -webkit-transform 0.9s
    cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -o-transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  transition: transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25),
    -webkit-transform 0.9s cubic-bezier(0.68, -0.55, 0.265, 1.25);
  -webkit-transform: translateY(-50%) translateX(650px) translateZ(60px)
    scale(0.88);
  transform: translateY(-50%) translateX(650px) translateZ(60px) scale(0.88);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  z-index: 2;
}

.services4 .square-flip:hover .square-container2 {
  -webkit-transform: translateY(-50%) translateX(0px) translateZ(0px) scale(1);
  transform: translateY(-50%) translateX(0px) translateZ(0px) scale(1);
}

.services4 .flip-overlay {
  display: block;
  background: var(--t0181);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
}

@media screen and (max-width: 991px) {
  .services4 .square-flip {
    margin-bottom: 30px;
  }

  .services4 {
    padding-bottom: 70px;
  }
}

/* More Details */
/* FAQ: Items ab #4 initial ausblenden */
.accordion-box .faq-hidden {
  display: none;
}

/* macht das <li> klickbar wie ein Button */
.more-details-btn {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;

  transition: background-color 0.25s ease;
}

/* Hover-Effekt wie Button */
.more-details-btn:hover p {
  color: var(--t0042);
}

/* optional: Fokus für Accessibility */
.more-details-btn:focus-visible {
  outline: 2px solid var(--t0323);
  outline-offset: 2px;
}

.more-details-btn .ti-plus {
  display: inline-block; /* wichtig für transform */
  transition: transform 0.3s ease; /* smooth */
}

/* wenn aufgeklappt */
.more-details-btn[aria-expanded="true"] .ti-plus {
  transform: rotate(135deg); /* + → × */
}

/* services sidebar */
.sidebar .sidebar-widget {
  position: relative;
  display: block;
  margin-bottom: 30px;
}

.sidebar .sidebar-widget:last-child {
  margin-bottom: 0px;
}

.sidebar .sidebar-widget .widget-inner {
  position: relative;
  display: block;
  padding: 45px;
  background: var(--t0182);
  border-radius: 0px;
}

.sidebar-title {
  position: relative;
  margin-bottom: 20px;
  border-bottom: var(--t0183);
  padding-bottom: 15px;
}

.sidebar-title .header4 {
  position: relative;
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  line-height: 1.1em;
  color: var(--t0184);
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 5px;
  margin-bottom: 0px;
}

.sidebar .services ul {
  position: relative;
  padding: 0;
}

.sidebar .services ul li {
  position: relative;
  line-height: 48px;
  font-size: 16px;
  color: var(--t0185);
  font-weight: 300;
  margin-bottom: 5px;
}

.sidebar .services ul li:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  right: -20px;
  bottom: 0;
  background: var(--t0186);
  border-radius: 0;
  opacity: 0;
  transition: all 0.3s ease;
}

.sidebar .services ul li:after {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  margin-top: -12px;
  height: 24px;
  border-left: 2px solid var(--thm-base);
  opacity: 0;
  transition: all 0.3s ease;
}

.sidebar .services ul li:last-child {
  margin-bottom: 0;
}

.sidebar .services ul li a {
  position: relative;
  display: block;
  font-size: 16px;
  color: var(--t0187);
  font-weight: 400;
  transition: all 0.3s ease;
  z-index: 1;
}

.sidebar .services ul li:hover a,
.sidebar .services ul li.active a {
  color: var(--t0188);
}

.sidebar .services ul li:hover:before,
.sidebar .services ul li.active:before,
.sidebar .services ul li:hover:after,
.sidebar .services ul li.active:after {
  opacity: 1;
}

.sidebar .services ul li a:after {
  position: absolute;
  right: 0;
  top: -1px;
  font-family: "themify";
  content: "\e649";
  opacity: 1;
  font-size: 10px;
  font-weight: normal;
  z-index: 1;
}

.sidebar .services ul li a:hover:before,
.sidebar .services ul li.active a:before {
  opacity: 1;
  transform: scaleX(1);
  transition: all 0.3s ease 0.1s;
}

/* ======= Projects style ======= */
.projects .item {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.investmentSmallText {
  background-color: var(--t0042);
  color: #fff !important;
  padding-left: 10px;
  padding-right: 10px;
}

/*
.projects img{
    height: 600px;
    width: 600px;
}
*/
.img-wrap {
  position: relative;
  overflow: hidden;
  height: 600px;
  /* oder feste Höhe */
  width: 100%;
}

.img-wrap img {
  height: 100%;
  width: auto;
  /* WICHTIG */
  min-width: 100%;
  /* sorgt für seitlichen Zuschnitt */
  object-fit: cover;
  /* zusätzliche Absicherung */
}

.noInlineBlock {
  display: inline;
}

.noInlineBlock:hover {
  display: inline;
}

.projects .item:hover img {
  -webkit-filter: none;
  filter: none;
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
  -webkit-filter: brightness(70%);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.projects .item:hover .con {
  bottom: 0;
}

.projects .item img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.projects .item .con {
  padding: 30px 15px;
  position: absolute;
  bottom: -58px;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  z-index: 20;
  height: auto;
  box-sizing: border-box;
  background: var(--t0189);
  background: var(--t0190);
  background: var(--t0191);
}

.projects .item .con .header6,
.projects .item .con .header6 a {
  position: relative;
  color: var(--t0192);
  font-size: 13px;
  font-weight: 400;
  margin-top: 0px;
  margin-bottom: 10px;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.projects .item .con .header5,
.projects .item .con .header5 a {
  position: relative;
  color: var(--t0193);
  font-size: 20px;
  font-weight: 300;
  margin-top: 0px;
  margin-bottom: 10px;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.projects .item .con p {
  color: var(--t0194);
  font-size: 20px;
}

.projects .item .con i {
  color: var(--t0195);
  font-size: 20px;
}

.projects .item .con i:hover {
  color: var(--t0196);
}

.projects .item .con .butn-light {
  margin-left: 0;
  border-radius: 30px;
  border-color: var(--t0197);
  padding: 11px 30px;
}

.projects .item .con .butn-light:hover {
  border-color: var(--t0198);
}

/* line animation */
.projects .item .line {
  text-align: center;
  height: 1px;
  width: 60px;
  background-color: var(--t0199);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  margin: 0 auto 30px;
}

.projects .item:hover .line {
  width: 100%;
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out;
}

/* prev/next project */
.projects-prev-next {
  padding: 40px 0;
  border: none;
  border-top: var(--t0200);
  position: relative;
}

@media (max-width: 576px) {
  .projects-prev-next {
    text-align: center;
  }

  .projects-prev-next-left {
    margin-bottom: 10px;
  }
}

.projects-prev-next a {
  display: inline-block;
  font-size: 16px;
  color: var(--t0201);
  line-height: 1em;
}

.projects-prev-next a i {
  font-size: 20px;
}

.projects-prev-next a:hover {
  color: var(--t0202);
}

.projects-prev-next .projects-prev-next-left a i {
  margin-right: 5px;
  font-size: 12px;
}

.projects-prev-next .projects-prev-next-right a i {
  font-size: 12px;
  margin-left: 0;
  margin-left: 5px;
}

/* ===== Projects Coming Soon Ribbon ===== */
.item.coming-soon {
  position: relative;
  overflow: hidden;
  
  /* alles deaktivieren */
  opacity: 0.85;
}

.item.coming-soon img {
  filter: grayscale(100%);
}

/* Ribbon */
.item.coming-soon .ribbon {
  position: absolute;
  top: 80px;
  left: -70px;
  width: 350px;
  text-align: center;
  background: #b19777;
  /* Gold / CI-Farbe */
  color: var(--t0193);
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  letter-spacing: 4px;
  text-transform: uppercase;
  padding: 10px 0;
  transform: rotate(-45deg);
  z-index: 5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* Allow Inquire button click even in coming-soon cards */
.coming-soon .butn-light,
.coming-soon .butn-light a {
  pointer-events: auto !important;
  cursor: pointer;
  position: relative;
  z-index: 5;
}

.ribbon {
  left: auto;
  right: -60px;
  transform: rotate(45deg);
}

/* ======= Projects2 style ======= */
/* project masonry style */
.project-masonry-wrapper-padding {
}

.project-masonry-wrapper {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding-bottom: 30px;
}

.project-masonry-wrapper .project-masonry-item-img-link {
  display: block;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.project-masonry-wrapper
  .project-masonry-item-img-link:hover
  .project-masonry-item-img {
  -webkit-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
  transform: translateY(-40px);
}

.project-masonry-wrapper
  .project-masonry-item-img-link:hover
  .project-masonry-item-img:after {
  opacity: 0.3;
}

.project-masonry-wrapper
  .project-masonry-item-img-link:hover
  .project-masonry-item-content {
  -webkit-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  transform: translateY(-10px);
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.project-masonry-wrapper .project-masonry-item-img img {
  max-width: 100%;
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
}

.project-masonry-item-img-link:hover img {
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.project-masonry-wrapper .project-masonry-item-content {
  position: absolute;
  left: 0;
  bottom: -11px;
  max-width: 80%;
  background-color: var(--t0203);
  padding-top: 25px;
  padding-right: 40px;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.5s linear;
  transition: -webkit-transform 0.5s linear;
  -o-transition: transform 0.5s linear;
  transition: transform 0.5s linear;
  transition: transform 0.5s linear, -webkit-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.project-masonry-wrapper .project-masonry-item-title {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 20px;
  color: var(--t0204);
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.project-masonry-wrapper .project-masonry-item-category {
  font-size: 14px;
  line-height: 1.5em;
  color: var(--t0205);
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
}

@media only screen and (max-width: 991px) {
  .project-masonry-wrapper .project-masonry-item-content {
    padding-top: 15px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .project-masonry-wrapper {
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
  }

  .project .items {
    padding: 12px;
  }
}

@media only screen and (max-width: 400px) {
  .project-masonry-wrapper {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ======= Projects3 style ======= */
.bauen-project {
}

.bauen-project-section {
  padding-top: 120px;
}

.bauen-project-page-section {
  padding-bottom: 80px;
}

.bauen-project-items .col-md-6:nth-child(2) {
  margin-top: 75px;
}

.bauen-project-filter {
  width: 100%;
  padding-bottom: 30px;
  padding-left: 0px;
  position: relative;
}

.bauen-project-filter li {
  margin-right: 15px;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  color: var(--t0206);
  font-family: "Didact Gothic", sans-serif;
  font-weight: 400;
}

.bauen-project-filter li:last-child {
  margin-right: 0;
}

.bauen-project-filter li.active {
  color: var(--t0207);
  content: "";
  left: 0;
  bottom: -4px;
  border-bottom: 1px solid;
  -webkit-transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
  -o-transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
  transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
}

.bauen-project-filter li:hover {
  color: var(--t0208);
}

.bauen-project-wrap {
  padding-bottom: 90px;
  padding-right: 0;
  padding-left: 90px;
  position: relative;
}

.bauen-project-wrap:hover img {
  -ms-transform: scale(0.95, 0.95);
  /* IE 9 */
  -webkit-transform: scale(0.95, 0.95);
  /* Safari */
  transform: scale(0.95, 0.95);
}

.bauen-project-wrap .header3 {
  font-family: "Oswald", sans-serif;
  font-size: 20px;
  line-height: 1.25em;
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--t0209);
  margin-bottom: 0px;
}

.bauen-project-wrap p {
  color: var(--t0210);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
  align-items: center;
  display: inline-flex;
}

.bauen-project-content {
  position: absolute;
  left: 50px;
  bottom: 89px;
  background-color: var(--t0211);
  padding: 20px 20px 20px 0;
  margin-right: 20px;
}

.bauen-project-link {
  color: var(--t0212);
  font-size: 17px;
  font-weight: 400;
  position: relative;
  padding-right: 40px;
  line-height: 1.75em;
  display: inline-block;
  transition: all 0.3s ease-in-out;
  padding-left: 80px;
}

.bauen-project-link:before {
  content: "";
  display: inline-block;
  width: 80px;
  height: 1px;
  background: var(--t0213);
  position: absolute;
  left: 0;
  bottom: 15px;
  transition: all 0.3s ease-in-out;
}

.bauen-project-link:before:hover {
  padding-left: 5px;
  color: var(--t0214);
  transition: all 0.3s ease-in-out;
}

.bauen-project-link i {
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 14px;
  transition: all 0.3s ease-in-out;
}

.bauen-project-link:hover i {
  padding-left: 5px;
  color: var(--t0215);
  transition: all 0.3s ease-in-out;
}

.bauen-project-link:hover {
  color: var(--t0216);
}

@media (max-width: 991px) {
  .bauen-project-wrap {
    padding-left: 20px;
  }

  .bauen-project-wrap .header3 {
    font-size: 22px;
  }

  .bauen-project-content {
    left: 0px;
    bottom: 0px;
  }
}

@media all and (max-width: 767px) {
  .bauen-project-items .col-md-6:nth-child(2) {
    margin-top: 0;
  }
}

@media all and (max-width: 575px) {
  .bauen-project-filter li {
    margin-right: 10px;
    font-size: 17px;
  }

  .bauen-project-filter li:last-child {
    margin-right: 0;
  }

  .bauen-project-items .single-item {
    padding-bottom: 30px;
  }

  .bauen-project-wrap {
    padding: 0;
  }
}

/* ======= Project4 style  ======= */
.projects4 {
  position: relative;
  margin-bottom: 90px;
}

.projects4:last-child {
  margin-bottom: 0px;
}

.projects4 figure {
  margin: 0;
  position: relative;
  width: 66.666667%;
  margin-left: auto;
}

.projects4.left figure {
  margin-left: 0;
  margin-right: auto;
}

.projects4 figure img:hover {
  transform: scale(0.95);
}

.projects4 .caption {
  background: var(--t0217);
  position: absolute;
  left: 0;
  top: 50%;
  width: 50%;
  padding: 5% 4% 5% 0%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.projects4.left .caption {
  left: auto;
  right: 0;
  background: var(--t0218);
  padding: 5% 0% 5% 4%;
}

.projects4 .caption .header4 {
  font-size: 30px;
  color: var(--t0219);
  letter-spacing: 5px;
  font-weight: 300;
  line-height: 1.25em;
  text-transform: uppercase;
}

.projects4 .caption .header6 {
  color: var(--t0220);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

@media (max-width: 991.98px) {
  .projects4 figure {
    width: auto;
    margin: 0;
  }

  .projects4 .caption {
    position: relative;
    left: 0;
    top: 0;
    width: auto;
    padding: 30px;
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

/* ======= Project Gallery style ======= */
.gallery-masonry-wrapper {
  position: relative;
  overflow: hidden;
  padding-bottom: 30px;
}

.bauen-gallery-items .col-md-6:nth-child(2) {
  margin-top: 0px;
}

.bauen-gallery-filter {
  width: 100%;
  padding-bottom: 30px;
  padding-left: 0px;
  position: relative;
}

.bauen-gallery-filter li {
  margin-right: 15px;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  color: var(--t0221);
  font-family: "Didact Gothic", sans-serif;
  font-weight: 400;
}

.bauen-gallery-filter li:last-child {
  margin-right: 0;
}

.bauen-gallery-filter li.active {
  color: var(--t0222);
  content: "";
  left: 0;
  bottom: -4px;
  border-bottom: 1px solid;
  -webkit-transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
  -o-transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
  transition: 700ms cubic-bezier(0.17, 0.67, 0, 1.01);
}

.bauen-gallery-filter li:hover {
  color: var(--t0223);
}

.gallery-masonry-wrapper .gallery-masonry-item-img-link {
  display: block;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.gallery-masonry-wrapper
  .gallery-masonry-item-img-link:hover
  .gallery-masonry-item-img {
  -webkit-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
  transform: translateY(-40px);
}

.gallery-masonry-wrapper
  .gallery-masonry-item-img-link:hover
  .gallery-masonry-item-img:after {
  opacity: 0.3;
}

.gallery-masonry-wrapper
  .gallery-masonry-item-img-link:hover
  .gallery-masonry-item-content {
  -webkit-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  transform: translateY(-10px);
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.gallery-masonry-wrapper .gallery-masonry-item-content {
  position: absolute;
  left: 0;
  bottom: -11px;
  max-width: 80%;
  background-color: var(--t0224);
  padding-top: 20px;
  padding-right: 40px;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.5s linear;
  transition: -webkit-transform 0.5s linear;
  -o-transition: transform 0.5s linear;
  transition: transform 0.5s linear;
  transition: transform 0.5s linear, -webkit-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    -webkit-transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-masonry-wrapper .gallery-masonry-item-title {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 20px;
  color: var(--t0225);
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.gallery-masonry-wrapper .gallery-masonry-item-category {
  font-size: 14px;
  line-height: 1.5em;
  color: var(--t0226);
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
}

@media only screen and (max-width: 991px) {
  .gallery-masonry-wrapper .gallery-masonry-item-content {
    padding-top: 15px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .gallery-masonry-wrapper {
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
  }

  .bauen-gallery-items .col-md-6:nth-child(2) {
    margin-top: 0;
  }
}

@media all and (max-width: 575px) {
  .bauen-gallery-filter li {
    margin-right: 10px;
    font-size: 17px;
  }

  .bauen-gallery-filter li:last-child {
    margin-right: 0;
  }

  .bauen-gallery-items .single-item {
    padding-bottom: 30px;
  }
}

@media only screen and (max-width: 400px) {
  .gallery-masonry-wrapper {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ======= Project Page style ======= */
.project-page .header6 {
  margin-bottom: 0px;
  position: relative;
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  color: var(--t0227);
}

.project-bar {
  padding: 30px 45px 30px 45px;
  background-color: var(--t0228);
  margin-top: -55px;
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
}

.project-bar .header5 {
  color: var(--t0229);
  font-size: 16px;
  font-family: "Didact Gothic", sans-serif;
  font-weight: 400;
  margin-bottom: 5px;
}

@media (max-width: 991.98px) {
  .project-bar {
    margin-top: 0px;
  }
}

/* page list */
.page-list {
  position: relative;
  display: block;
}

.page-list li {
  position: relative;
  display: flex;
  align-items: center;
}

.page-list li + li {
  margin-top: 10px;
}

.page-list-icon {
  display: flex;
  align-items: center;
}

.page-list-icon span {
  font-size: 13px;
  color: var(--t0230);
  background-color: var(--t0231);
  border: var(--t0232);
  border-radius: 50%;
  padding: 9px;
}

.page-list-text {
  margin-left: 15px;
}

.page-list-text p {
  font-size: 16px;
  margin: 0;
}

.page-list-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 40px;
  /* row gap | column gap */
}

/* Optional: schöneres Alignment */
.page-list-grid li {
  display: flex;
  align-items: flex-start;
}

/* Mobile: alles untereinander */
@media (max-width: 768px) {
  .page-list-grid {
    grid-template-columns: 1fr;
  }
}

/* ======= Clients style ======= */
.clients {
  background-color: var(--t0233);
}

.clients .owl-carousel {
  margin: 20px 0;
}

.clients .clients-logo {
  opacity: 1;
  line-height: 0;
}

.clients .clients-logo:hover {
  opacity: 1;
}

.clients img {
  -webkit-filter: none;
  filter: none;
}

.clients img:hover {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

/* ======= Gallery style ======= */
.gallery-item {
  position: relative;
  padding-top: 20px;
}

.gallery-box {
  overflow: hidden;
  position: relative;
}

.gallery-box .gallery-img {
  position: relative;
  overflow: hidden;
}

.gallery-box .gallery-img:after {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0px;
  transition: all 0.27s cubic-bezier(0.3, 0.1, 0.58, 1);
}

.gallery-box .gallery-img > img {
  transition: all 0.3s cubic-bezier(0.3, 0.1, 0.58, 1);
  border-radius: 0;
}

.gallery-box .gallery-detail {
  opacity: 0;
  color: var(--t0234);
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  overflow: hidden;
  transition: all 0.27s cubic-bezier(0.3, 0.1, 0.58, 1);
}

.gallery-box .gallery-detail .header4 {
  font-size: 18px;
}

.gallery-box .gallery-detail p {
  color: var(--t0235);
  font-size: 14px;
}

.gallery-box .gallery-detail i {
  color: var(--t0236);
  padding: 8px;
}

.gallery-box .gallery-detail i:hover {
  color: var(--t0237);
}

.gallery-box:hover .gallery-detail {
  top: 50%;
  transform: translate(0, -50%);
  opacity: 1;
}

.gallery-box:hover .gallery-img:after {
  background: var(--t0238);
}

.gallery-box:hover .gallery-img > img {
  transform: scale(1.05);
}

/* magnific popup custom */
.mfp-figure button {
  border: var(--t0239);
}

button.mfp-close,
button.mfp-arrow {
  border: var(--t0240);
  background: var(--t0241);
}

/* ======= Promo Video and Testimonials style ======= */
/* play button */
.vid-area .header5 {
  font-size: 20px;
  font-weight: 300;
  color: var(--t0242);
  letter-spacing: 5px;
  margin-bottom: 30px;
  text-transform: uppercase;
}

.play-button {
  position: relative;
  width: 85px;
  height: 85px;
  margin: auto;
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  z-index: 4;
  margin-left: 15px;
}

.play-button svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.circle-fill circle {
  opacity: 1;
  fill: var(--t0243);
}

.polygon {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 90px;
  font-size: 35px;
  z-index: 2;
  padding-left: 5px;
}

.play-button svg.circle-fill {
  z-index: 1;
  stroke-dasharray: 322;
  stroke-dashoffset: 322;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.play-button:hover svg.circle-fill {
  stroke-dashoffset: 38.5;
}

.play-button svg.circle-track {
  z-index: 0;
}

.play-button.color {
  color: var(--t0244);
}

.play-button.color .circle-fill circle {
  fill: var(--t0245);
}

/* video gallery */
.video-gallery-button {
  position: relative;
  margin: auto;
  -webkit-transform: scale(1.3);
  -ms-transform: scale(1.3);
  transform: scale(1.3);
  z-index: 4;
  margin-left: 15px;
  float: right;
}

.video-gallery-polygon {
  z-index: 2;
  padding-left: 5px;
  display: inline-block;
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: var(--t0246);
  border-radius: 50%;
  border: var(--t0247);
  color: var(--t0248);
  padding: 7px 6px 7px 8px;
  line-height: 0;
}

.video-gallery-polygon:hover {
  background: var(--t0249);
  border: var(--t0250);
  color: var(--t0251);
}

/* testimonials style */
.testimonials-box {
  position: relative;
  background: var(--t0252);
  padding: 60px 45px;
  /*margin-bottom: -90px;*/
  margin-bottom: 10%;
}

.testimonials-box .head-box .header6 {
  font-weight: 400;
  color: var(--t0253);
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.testimonials-box .head-box .header4 {
  font-size: 20px;
  font-weight: 300;
  color: var(--t0254);
  letter-spacing: 5px;
  border-bottom: var(--t0255);
  padding-bottom: 15px;
  text-transform: uppercase;
}

.testimonials-box .head-box .header4 span {
  color: var(--t0256);
}

@media screen and (max-width: 991px) {
  .testimonials-box {
    margin-bottom: 90px;
    padding: 35px 20px;
  }
}

.testimonials .item {
  margin-bottom: 30px;
  position: relative;
}

.testimonials .item .quote {
  position: absolute;
  right: 15px;
  top: 60px;
  width: 100px;
  margin: 0 auto 30px;
  opacity: 0.05;
}

.testimonials .item p {
  color: var(--t0257);
}

.testimonials .item .info {
  text-align: left;
  margin: 30px 0 15px 0;
}

.testimonials .item .info .author-img {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  float: left;
  overflow: hidden;
}

.testimonials .item .info .cont {
  margin-left: 70px;
}

.testimonials .item .info .header6 {
  color: var(--t0258);
  font-size: 16px;
  margin-bottom: 0px;
  padding-top: 7px;
  font-weight: 400;
  font-family: "Didact Gothic", sans-serif;
}

.testimonials .item .info span {
  font-size: 16px;
  color: var(--t0259);
  margin-right: 5px;
  line-height: 1.25em;
}

.testimonials .item .info .rate {
  float: right;
}

.testimonials .item .info i {
  color: var(--t0260);
  font-size: 10px;
}

.testimonials .item.bg {
  background: var(--t0261);
}

#InvestNow\! .invest-bg {
  position: relative;
}

/* unser eigenes Overlay */
#InvestNow\! .invest-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35); /* Stärke hier */
  z-index: 1;
}

/* kompletter Inhalt über Overlay */
#InvestNow\! .invest-bg > .container {
  position: relative;
  z-index: 2;
}

/* Formular extra hervorheben */
#InvestNow\! .testimonials-box {
 
  padding: 40px;
}

/* ======= Blog 1 style ======= */
.bauen-blog .item {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.bauen-blog .item:hover img {
  -webkit-filter: none;
  filter: none;
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
  -webkit-filter: brightness(75%);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.bauen-blog .item:hover .con {
  bottom: 0;
}

.bauen-blog .item img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-filter: brightness(100%);
}

.bauen-blog .item .con {
  margin: -120px 20px 75px;
  padding: 15px 15px 25px 15px;
  background-color: var(--t0262);
  border: var(--t0263);
  border-radius: 0;
  overflow: hidden;
  -webkit-transition: 0.2s cubic-bezier(0.3, 0.58, 0.55, 1);
  transition: 0.2s cubic-bezier(0.3, 0.58, 0.55, 1);
  bottom: -55px;
  position: relative;
}

.bauen-blog .item .con .category {
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 0;
  letter-spacing: 1px;
}

.bauen-blog .item .con .category a {
  margin-right: 5px;
  position: relative;
}

.bauen-blog .item .con .category a:hover {
  color: var(--t0264);
}

.bauen-blog .item .con .category a:last-child {
  margin-right: 0;
}

.bauen-blog .item .con .category a:last-child:after {
  display: none;
}

.bauen-blog .item .con .header5,
.bauen-blog .item .con .header5 a {
  color: var(--t0265);
  font-size: 25px;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  margin-bottom: 0px;
  letter-spacing: 1px;
}

.bauen-blog .item .con .header5:hover,
.bauen-blog .item .con .header5 a:hover {
  color: var(--t0266);
}

.bauen-blog .item .con p {
  color: var(--t0267);
  font-size: 17px;
}

.bauen-blog .item .con i {
  color: var(--t0268);
  font-size: 20px;
}

/* ======= Blog 2 style ======= */
.bauen-blog2 .img {
  position: relative;
  overflow: hidden;
}

.bauen-blog2 .img:hover img {
  -webkit-filter: none;
  filter: none;
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.bauen-blog2 .img img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.bauen-blog2 .content {
  width: 100%;
  padding: 30px 45px;
}

.bauen-blog2 .content .date {
  display: table-cell;
  position: relative;
  width: 80px;
  z-index: 2;
}

.bauen-blog2 .content .date .header3 {
  font-size: 65px;
  font-weight: 500;
  color: var(--t0269);
  margin-bottom: 0px;
}

.bauen-blog2 .content .date .header6 {
  color: var(--t0270);
  letter-spacing: 2px;
  font-size: 10px;
  font-family: "Didact Gothic", sans-serif;
  text-transform: uppercase;
  font-weight: 300;
}

.bauen-blog2 .content .cont {
  display: table-cell;
  vertical-align: middle;
  padding-left: 15px;
}

.bauen-blog2 .content .cont .header4 {
  margin: 15px 0;
  font-size: 20px;
  color: var(--t0271);
  letter-spacing: 5px;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 1.5em;
}

.bauen-blog2 .content .cont .more {
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--t0272);
  padding-left: 40px;
  position: relative;
}

.bauen-blog2 .content .cont .more:after {
  content: "";
  width: 30px;
  height: 1px;
  background: var(--t0273);
  position: absolute;
  top: 50%;
  left: 0px;
}

.bauen-blog2 .content .cont .more:hover {
  color: var(--t0274);
}

.bauen-blog2 .content .info .header6 {
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--t0275);
  font-family: "Didact Gothic", sans-serif;
  text-transform: uppercase;
}

.bauen-blog2 .content .info .tags {
  color: var(--t0276);
}

@media screen and (max-width: 991px) {
  .bauen-blog2 .content {
    padding: 0 30px;
    margin-top: 40px;
  }

  .bauen-blog2 .content .cont .header4 {
    line-height: 1.25em;
  }

  .order2 {
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
  }

  .order1 {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
  }
}

@media screen and (max-width: 480px) {
  .bauen-blog2 .content {
    padding: 0 15px;
  }

  .bauen-blog2 .content .date {
    width: 60px;
  }

  .bauen-blog2 .content .info .tags {
    margin: 5px 0 0;
  }

  .bauen-blog2 .content .date .header3 {
    font-size: 40px;
  }
}

/* ======= Blog 3 style ======= */
.bauen-blog3 .item {
  margin-bottom: 30px;
}

.bauen-blog3 .post-img {
  position: relative;
  overflow: hidden;
}

.bauen-blog3 .post-img:hover img {
  -webkit-filter: none;
  filter: none;
  -webkit-transform: scale(1.09, 1.09);
  transform: scale(1.09, 1.09);
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  -ms-transition: all 1s ease;
  transition: all 1s ease;
}

.bauen-blog3 .post-img a {
  display: block;
}

.bauen-blog3 .post-img img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.bauen-blog3 .post-cont {
  padding: 30px 0;
}

.bauen-blog3 .post-cont .tag {
  display: block;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--t0277);
  font-family: "Didact Gothic", sans-serif;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.bauen-blog3 .post-cont .header5 {
  font-size: 25px;
  margin-bottom: 15px;
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.bauen-blog3 .post-cont .header5 a {
  color: var(--t0278);
}

.bauen-blog3 .post-cont .header5 a:hover {
  color: var(--t0279);
}

.bauen-blog3 .post-cont .date {
  margin-top: 0px;
  font-size: 12px;
  text-align: right;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.bauen-blog3 .post-cont .date a {
  color: var(--t0280);
}

.bauen-blog3 .post-cont i {
  color: var(--t0281);
  margin: 0 10px;
  font-size: 12px;
}

/* blog sidebar */
.blog-sidebar .widget {
  background: var(--t0282);
  padding: 30px;
  margin-bottom: 30px;
  overflow: hidden;
}

.blog-sidebar .widget ul {
  margin-bottom: 0;
  padding: 0;
}

.blog-sidebar .widget ul li {
  margin-bottom: 15px;
  color: var(--t0283);
  font-size: 16px;
  line-height: 1.5em;
}

.blog-sidebar .widget ul li a {
  color: var(--t0284);
}

.blog-sidebar .widget ul li a.active {
  color: var(--t0285);
}

.blog-sidebar .widget ul li a:hover {
  color: var(--t0286);
}

.blog-sidebar .widget ul li:last-child {
  margin-bottom: 0;
}

.blog-sidebar .widget ul li i {
  font-size: 9px;
  margin-right: 10px;
}

.blog-sidebar .widget .recent li {
  display: block;
  overflow: hidden;
}

.blog-sidebar .widget .recent .thum {
  width: 90px;
  overflow: hidden;
  float: left;
}

.blog-sidebar .widget .recent a {
  display: block;
  margin-left: 105px;
}

.blog-sidebar .widget-title {
  margin-bottom: 20px;
}

.blog-sidebar .widget-title .header6 {
  padding-bottom: 5px;
  border-bottom: var(--t0287);
  font-size: 20px;
  line-height: 1.75em;
  margin-bottom: 15px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--t0288);
}

.blog-sidebar .search form {
  position: relative;
}

.blog-sidebar .search form input {
  width: 100%;
  padding: 10px;
  border: 0;
  background: var(--t0289);
  margin-bottom: 0;
}

.blog-sidebar .search form button {
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--t0290);
  color: var(--t0291);
  border: 0;
  padding: 10px;
  cursor: pointer;
}

.blog-sidebar .tags li {
  margin: 3px !important;
  padding: 6px 16px;
  background-color: var(--t0292);
  color: var(--t0293);
  float: left;
}

.blog-sidebar ul.tags li a {
  font-size: 14px;
  color: var(--t0294);
}

.blog-sidebar ul.tags li:hover,
.blog-sidebar ul.tags li a:hover {
  background-color: var(--t0295);
  color: var(--t0296);
}

/* pagination */
.bauen-pagination-wrap {
  padding: 0;
  margin: 0;
  text-align: center;
}

.bauen-pagination-wrap li {
  display: inline-block;
  margin: 0 5px;
}

.bauen-pagination-wrap li a {
  background: var(--t0297);
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 38px;
  text-align: center;
  color: var(--t0298);
  font-weight: 300;
  border: var(--t0299);
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  border-radius: 100%;
}

.bauen-pagination-wrap li a i {
  font-size: 11px;
}

.bauen-pagination-wrap li a:hover {
  opacity: 1;
  text-decoration: none;
  background: var(--t0300);
  border: var(--t0301);
  color: var(--t0302);
}

.bauen-pagination-wrap li a.active {
  background-color: var(--t0303);
  border: var(--t0304);
  color: var(--t0305);
}

@media screen and (max-width: 768px) {
  .bauen-pagination-wrap {
    padding: 0;
    margin: 0;
    text-align: center;
  }
}

/* ======= Blog 4 style  ======= */
.bauen-blog4 {
  position: relative;
  margin-bottom: 90px;
}

.bauen-blog4:last-child {
  margin-bottom: 20px;
}

.bauen-blog4 figure {
  margin: 0;
  position: relative;
  width: 66.666667%;
  margin-left: auto;
}

.bauen-blog4.left figure {
  margin-left: 0;
  margin-right: auto;
}

.bauen-blog4 figure img:hover {
  transform: scale(0.95);
}

.bauen-blog4 .caption {
  background: var(--t0306);
  position: absolute;
  left: 0;
  top: 50%;
  width: 50%;
  padding: 4%;
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.bauen-blog4.left .caption {
  left: auto;
  right: 0;
  background: var(--t0307);
  padding: 4%;
}

.bauen-blog4 .caption .header4,
.bauen-blog4 .caption .header4 a {
  font-size: 27px;
  color: var(--t0308);
  letter-spacing: 5px;
  font-weight: 300;
  text-transform: uppercase;
}

.bauen-blog4 .caption .header6 {
  display: inline-block;
  padding: 8px 20px;
  background-color: var(--t0309);
  color: var(--t0310);
  font-weight: 300;
  font-size: 12px;
  letter-spacing: 3px;
  text-transform: uppercase;
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.bauen-blog4 .caption .info-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.bauen-blog4 .caption .info-wrapper .more {
  color: var(--t0311);
  text-decoration: none;
  font-size: 14px;
}

.bauen-blog4 .caption .info-wrapper .more i {
  color: var(--t0312);
  font-size: 10px;
}

.bauen-blog4 .caption .info-wrapper .date {
  color: var(--t0313);
  font-size: 14px;
}

@media (max-width: 991.98px) {
  .bauen-blog4 figure {
    width: auto;
    margin: 0;
  }

  .bauen-blog4 .caption {
    position: relative;
    left: 0;
    top: 0;
    width: auto;
    padding: 30px 20px;
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

/* hr style */
hr {
  margin-top: 5px;
  margin-bottom: 20px;
  border: 0;
}

hr.border-1 {
  border-top: var(--t0314);
}

hr.border-2 {
  border-top: var(--t0315);
}

/* button link */
.link-btn {
  display: inline-block;
  position: relative;
  padding-bottom: 2px;
  margin-bottom: -2px;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 3px;
}

.link-btn i {
  margin-left: 3px;
  font-size: 12px;
  color: var(--t0316);
}

.link-btn:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: var(--t0317);
  -webkit-transition: all ease 0.4s;
  transition: all ease 0.4s;
}

.link-btn:hover::before {
  width: 100%;
}

/* ======= Post style ======= */
.bauen-post-section {
  padding-top: 120px;
}

.bauen-comment-section {
  padding-top: 60px;
  margin-bottom: 60px;
}

.bauen-comment-section .header3 {
  font-size: 16px;
  color: var(--t0318);
  font-family: "Didact Gothic", sans-serif;
  font-weight: 400;
}

.bauen-comment-section .header3 span {
  font-size: 12px;
  color: var(--t0319);
  font-weight: 400;
  margin-left: 15px;
}

.bauen-post-caption .header1 {
  margin-bottom: 20px;
  font-size: 40px;
  text-transform: uppercase;
}

.bauen-post-comment-wrap {
  display: flex;
  margin-bottom: 60px;
}

.bauen-user-comment {
  margin-right: 30px;
  flex: 0 0 auto;
}

.bauen-user-comment img {
  border-radius: 100%;
  width: 100px;
}

.bauen-user-content {
  margin-right: 26px;
}

.bauen-repay {
  font-size: 14px;
  color: var(--t0320);
  margin: 0;
  font-weight: 400;
}

/* ======= Contact style ======= */
#bauen-contactMap {
  width: 100%;
  height: 550px;
}

.contact__form select {
  max-width: 100%;
  margin-bottom: 10px;
  padding: 10px 0;
  width: 100%;
  background-color: var(--t0006);
  border: 0;

  border-bottom: 1px solid var(--t0008);
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  color: var(--t0007);
}

.contact__form select:focus {
  outline: none;
  border-bottom-color: var(--t0009);
}

/* Select Grundfarbe */
.contact__form select {
  background-color: var(--t0006);
  /* z.B. dein Input-Hintergrund */
  color: var(--t0007);
}

/* Fokus-Zustand */
.contact__form select:focus {
  background-color: var(--t0006);
}

.contact__form select option {
  background-color: var(--t0002);
  color: var(--t0007);
}


/*Contact For HubSpot Contactform*/
/* Layout */
.phone-field{
  display:flex;
  gap:18px;
  align-items:flex-end;
}

/* wichtig für absolute Dropdown-Position */
.phone-country{
  position: relative;
}

/* Button im selben Stil wie eure Inputs (Bottom-Border, transparent) */
.phone-country__btn{
  flex: 0 0 90px;     /* platzsparend */
  max-width: 100%;
  padding: 10px 0;
  margin-bottom: 10px;
  background-color: var(--t0006);
  border: 0;
  border-bottom: var(--t0008);
  color: var(--t0007);
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  cursor: pointer;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#phoneCountrySelected{ letter-spacing: .02em; }

.phone-country__btn:focus,
.phone-country__btn:focus-visible{
  border-bottom-width: 1px;
  border-color: var(--t0009);
  outline: none;
}

.phone-country__chev{
  opacity:.7;
  font-family: "Oswald", sans-serif;
}

/* Nummern-Input nutzt eure bestehenden input Styles; nur min-width fürs Flex */
#phone_number{ min-width: 0; }

/* Dropdownliste */
.phone-country__list{
  position:absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 9999;

  width: 260px;
  max-height: 260px;
  overflow: auto;

  background: var(--t0002);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 12px 28px rgba(0,0,0,0.45);
}

/* List items */
.phone-country__list .hsfc-DropdownOptions__List__ListItem{
  padding: 10px 12px;
  color: var(--t0041);
  cursor:pointer;
  font-family: "Didact Gothic", sans-serif;
  font-size: 15px;
  
}
#phoneCountryList{
padding-left: 0rem !important;
}

.phone-country__list .hsfc-DropdownOptions__List__ListItem:hover{
  background: rgba(255,255,255,0.06);
}

.phone-country__list .hsfc-DropdownOptions__List__ListItem[aria-selected="true"]{
  background: rgba(177,151,119,0.12);
  color: var(--t0041);
}

/* Mobile */
@media (max-width: 767px){
  .phone-field{
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
  .phone-country__btn,
  .phone-country__list{
    width: 100%;
  }
  .phone-country__btn{ flex-basis:auto; }
}

#phone_number{
  /* genau wie eure Inputs */
  width: 100%;
  padding: 10px 0;
  margin-bottom: 10px;
  background-color: var(--t0006);
  border: 0;
  border-bottom: var(--t0008);
  color: var(--t0007);
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
}

#phone_number:focus{
  border-bottom-color: var(--t0009);
  outline: none;
}

.contact__form {
  position: relative;
  min-height: 420px; /* gleiche Höhe wie dein Formular */
}

.contact__form2{
  min-height: 0px !important;
}

.contact__success {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: var(--t0252);
  z-index: 10;
}

.contact__success-box {
  background: var(--t0321) !important;;
  color:var(--t0252);;
  padding:40px 50px;
 
  text-align:center;
  box-shadow:0 20px 60px var(--t0252);
}

.contact__success-box h3{
  margin:0 0 10px;
  font-size:28px;
}

.contact__success-box p{
  color: var(--t0252);
}

.contact__success-box p{
  margin:0;
  font-size:16px;
}

.contact__form.sent .contact__fields { visibility: hidden; }
.contact__form.sent .contact__success { display:flex; }

  .hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}








/* ======= Buttons style ======= */
/* dark */
.butn-dark {
  position: relative;
  line-height: 1.2em;
}

.butn-dark a {
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  background: var(--t0321);
  color: var(--t0322);
  padding: 13px 30px;
  margin: 0;
  position: relative;
  font-size: 16px;
  letter-spacing: 3px;
}

.butn-dark a:after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 100%;
  z-index: 1;
  background: var(--t0323);
  color: var(--t0324);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.butn-dark a span {
  position: relative;
  z-index: 2;
}

.butn-dark a:hover:after {
  width: 100%;
  left: 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.butn-dark a:hover span {
  color: var(--t0325);
}

.butn-dark {
  position: relative;
  line-height: 1.2em;
}

/* Button statt <a> */
.butn-dark button {
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  background: var(--t0321);
  color: var(--t0322);
  padding: 13px 30px;
  margin: 0;
  position: relative;
  font-size: 16px;
  letter-spacing: 3px;

  /* Button-Defaults killen */
  border: 0;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

/* Hover-Fill-Animation */
.butn-dark button::after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 100%;
  z-index: 1;
  background: var(--t0323);
  transition: all 0.3s ease;
}

.butn-dark button span {
  position: relative;
  z-index: 2;
}

/* Hover */
.butn-dark button:hover::after {
  width: 100%;
  left: 0;
  transition: width 0.3s ease;
}

.butn-dark button:hover span {
  color: var(--t0325);
}

/* Optional: Fokus für Accessibility */
.butn-dark button:focus-visible {
  outline: 2px solid var(--t0323);
  outline-offset: 2px;
}

/* light */
.butn-light {
  position: relative;
  line-height: 1.2em;
}

.butn-light a {
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  background: var(--t0326);
  color: var(--t0327);
  padding: 12px 24px;
  margin: 0;
  position: relative;
  font-size: 16px;
  letter-spacing: 3px;
  border: var(--t0328);
}

.butn-light a:after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 100%;
  z-index: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: var(--t0329);
}

.butn-light a span {
  position: relative;
  z-index: 2;
}

.butn-light a:hover:after {
  width: 100%;
  left: 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.butn-light a:hover span {
  color: var(--t0330);
}

/* ===== Modal: Theme-aware (über deine Tokens) ===== */

#infoModal .modal-content {
  background: var(--t0002);
  /* Seiten-Background (dark: #272727 / light: #fff) */
  color: var(--t0003);
  /* Standard Textfarbe */
  border: var(--t0008);
  /* z.B. 1px solid ... (kommt aus Theme) */
  border-radius: 0px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

#infoModal .modal-header {
  border-bottom: var(--t0008);
}

#infoModal .modal-title {
  color: var(--t0041);
  /* Headline-Farbe (dark: #fff / light: #272727) */
  margin: 0;
}

#infoModal .modal-body {
  color: var(--t0003);
}

#infoModal .modal-body a {
  color: var(--t0005);
  /* dein Akzent/Gold */
}

#infoModal .modal-body a:hover {
  color: var(--t0005);
  opacity: 0.9;
}

/* Backdrop (Hintergrund-Abdunklung) */
.modal-backdrop.show {
  opacity: 0.65;
  /* kannst du nach Geschmack anpassen */
}

/* Close-Button (X) – Bootstrap nutzt ein SVG als background-image */
#infoModal .btn-close {
  opacity: 0.9;
}

/* Modal Body soll stabile Höhe behalten */
#infoModal .modal-body {
  position: relative;
}

/* Wrapper für Inhalt, bleibt immer im Layout */
#infoModal .modal-body .modal-body-content {
  transition: opacity .2s ease;
}

/* Wenn Success aktiv: Inhalt unsichtbar, aber nimmt Platz ein */
#infoModal .modal-body.is-success .modal-body-content {
  opacity: 0;
  pointer-events: none;
}

/* Success Overlay liegt über dem Inhalt, ohne Layout zu ändern */
#infoModal .contact__success {
  position: absolute;
  inset: 0;                 /* top/right/bottom/left = 0 */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

/* Wenn Success aktiv: Overlay sichtbar */
#infoModal .modal-body.is-success .contact__success {
  opacity: 1;
  pointer-events: auto;
}

/* In Darkmode muss das X hell sein → invertieren */
html[data-theme="dark"] #infoModal .btn-close {
  filter: invert(1) grayscale(100%);
}

.interest_dropdown {
  box-shadow: none;
  border-width: 0 0 1px;
  border-style: solid;
  border-bottom: var(--t0008);
  height: 10px;
}

/* Dropdown immer responsive */
select.interest_dropdown {
  width: 100%;
  max-width: 100%;
  display: block;
  box-sizing: border-box;
}

.modal_header {
  font-size: 18px;
  font-weight: 300;
  color: var(--t0043);
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 3px;
  text-transform: uppercase;
}

/* Goldener Close-Button nur im Info-Modal */
.modal-close-gold {
  background: none;
  border: none;
  color: var(--t0005);
  /* Gold */
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

/* ======= Footer Project Carousel ======= */

/* Full width breakout */
.fullwidth-carousel {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* Carousel height control */
.fullwidth-carousel .item {
  height: 60vh;
  min-height: 360px;
  max-height: 520px;
  position: relative;
  overflow: hidden;
}

/* Image fit */
.fullwidth-carousel .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Mobile optimization */
@media (max-width: 768px) {
  .fullwidth-carousel .item {
    height: 45vh;
    min-height: 260px;
  }
}

/* ======= Footer style ======= */
.main-footer {
  padding: 60px 0 0;
  border-top: var(--t0331);
  position: initial;
}

.main-footer.dark {
  background: var(--t0332);
  color: var(--t0333);
}

.main-footer .abot p {
  color: var(--t0334);
}

.main-footer .abot .social-icon {
  text-align: center;
  margin-bottom: 20px;
  margin-top: 20px;
}

.main-footer .abot .social-icon a {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 12px;
  border: var(--t0335);
  color: var(--t0336);
  border-radius: 100%;
  margin-right: 3px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.main-footer .abot .social-icon a:hover {
  border: var(--t0337);
  background: var(--t0338);
  color: var(--t0339);
}

.main-footer .fothead .header6 {
  margin-bottom: 0px;
  font-family: "Oswald", sans-serif;
  color: var(--t0340);
  font-size: 17px;
}

.main-footer .fotcont .fothead .header6 {
  font-family: "Didact Gothic", sans-serif;
  font-weight: 400;
  position: relative;
  padding-bottom: 5px;
  font-size: 16px;
}

.main-footer .fotcont .fothead .header6:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  border: none;
}

.main-footer .fotcont p {
  margin-bottom: 0px;
  position: relative;
}

/* sub footer */
.main-footer .sub-footer {
  padding: 30px 0 10px 0;
  margin-top: 30px;
  border-top: var(--t0341);
  position: relative;
}

.main-footer .sub-footer p {
  font-size: 14px;
  color: var(--t0342);
  margin-top: 7px;
}

.main-footer .sub-footer p a:hover {
  color: var(--t0343);
}

.main-footer .sub-footer p.right {
  text-align: right;
}

.footerTextEffekt {
  font-weight: bold;
}

.footerTextEffekt:hover {
  color: var(--t0340);
}

.footerLinksLogo {
  font-size: 32px;
}

.footerLinksLogo {
  cursor: pointer;
}

.footerTextEffekt {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.fotcont {
  text-align: center;
}

/* ======= Corner Style ======= */
.hero-corner {
  top: 50px;
  right: 50px;
  z-index: 21;
  border-top: 1px solid;
  border-right: 1px solid;
}

.hero-corner2 {
  top: 50px;
  left: 50px;
  border-top: 1px solid;
  border-left: 1px solid;
}

.hero-corner3 {
  bottom: 50px;
  right: 50px;
  border-bottom: 1px solid;
  border-right: 1px solid;
}

.hero-corner4 {
  bottom: 50px;
  left: 50px;
  border-bottom: 1px solid;
  border-left: 1px solid;
}

.hero-corner,
.hero-corner2,
.hero-corner3,
.hero-corner4 {
  position: absolute;
  width: 70px;
  height: 70px;
  z-index: 21;
  border-color: var(--t0344);
}

/* ======= Preloader Style ======= */
.preloader-bg,
#preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--t0345);
  z-index: 999999;
}

#preloader {
  display: table;
  table-layout: fixed;
}

#preloader-status {
  display: table-cell;
  vertical-align: middle;
}

.preloader-position {
  position: relative;
  margin: 0 auto;
  text-align: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.loader {
  position: relative;
  width: 70px;
  height: 70px;
  left: 50%;
  margin-left: -35px;
  border-radius: 50%;
}

/* ROTIERT */
.loader::before {
  content: "";
  position: absolute;
  inset: 0;
  border: var(--t0347);
  border-top: var(--t0348);
  border-radius: 50%;
  animation: rotate 1s linear infinite;
}

/* BLEIBT STATISCH */
.loader span {
  position: absolute;
  width: 50px;
  height: 50px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* ======= toTop Button style ======= */
.progress-wrap {
  position: fixed;
  bottom: 30px;
  right: 30px;
  height: 40px;
  width: 40px;
  cursor: pointer;
  display: block;
  border-radius: 50px;
  -webkit-box-shadow: var(--t0349);
  box-shadow: var(--t0350);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

.progress-wrap.active-progress {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.progress-wrap::after {
  position: absolute;
  font-family: "themify";
  content: "\e648";
  text-align: center;
  line-height: 40px;
  font-size: 12px;
  font-weight: 700;
  color: var(--t0351);
  left: 0;
  top: 0;
  height: 40px;
  width: 40px;
  cursor: pointer;
  display: block;
  z-index: 1;
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

.progress-wrap svg path {
  fill: none;
}

.progress-wrap svg.progress-circle path {
  stroke: var(--t0352);
  stroke-width: 2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

.progress-wrap {
  -webkit-box-shadow: var(--t0353);
  box-shadow: var(--t0354);
}

.progress-wrap::after {
  color: var(--t0355);
}

.progress-wrap svg.progress-circle path {
  stroke: var(--t0356);
}

/* ================================
   THIRD BUTTON (progress-link)
   ================================ */

/* ================================
   EXTRA BUTTONS (progress-link) – 2 links + 1 scroll
   ================================ */

/* Basis: beide Links starten auf derselben Grundposition wie der Scroll-Button */
.progress-wrap.progress-link {
  bottom: 30px; /* muss mit dem normalen .progress-wrap bottom identisch sein */
  opacity: 0;
  visibility: hidden;
  transform: translateY(0);
  pointer-events: none;

  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;
}

/* Sichtbar, sobald active-progress gesetzt wird */
.progress-wrap.progress-link.active-progress {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;

  transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
}

/* WhatsApp sitzt GENAU zwischen Scroll und Info */
.progress-wrap.progress-link.progress-middle.active-progress {
  transform: translateY(-52px); /* 1 Schritt nach oben */
}

/* Info sitzt über WhatsApp */
.progress-wrap.progress-link.progress-top.active-progress {
  transform: translateY(-104px); /* 2 Schritte nach oben */
}

/* Themify-Pfeil beim Link deaktivieren */
.progress-wrap.progress-link::after {
  display: none;
}

/* Font Awesome Icon zentrieren */
.progress-wrap.progress-link i {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  display: block;
  color: var(--t0042);
  pointer-events: none;
}

/* Hover wie gehabt */
.progress-wrap.progress-link:hover i {
  color: var(--t0048);
}

/* Optional: WhatsApp leicht grün beim Hover (wenn du willst) 
.progress-wrap.progress-link.progress-middle:hover i{
  color: #25D366;
}
  */

.progress-wrap.progress-link:hover i {
  color: var(--t0048);
}

/* Icon im progress-link exakt zentrieren (wie .progress-wrap::after) */
.progress-wrap.progress-link {
  position: fixed;
  /* zur Sicherheit, falls irgendwo überschrieben */
}

.progress-wrap.progress-link i {
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  display: block;
  /* wichtig für schöne Rotation */
  transform-origin: 50% 50%;
}

/* --- Animation (deine Variante) --- */
@keyframes infoFlipPulse {
  0% {
    transform: rotateY(0deg) scale(1);
  }

  10% {
    transform: rotateY(180deg) scale(1.2);
  }

  20% {
    transform: rotateY(360deg) scale(1);
  }

  100% {
    transform: rotateY(360deg) scale(1);
  }
}

.info-flip-pulse {
  animation: infoFlipPulse 5s ease-in-out infinite;
  transform-style: preserve-3d;
}

/* Positionen */
.progress-top {
  bottom: 90px;
}

.progress-wrap .fa-circle-info {
  font-size: 24px;
}

.progress-wrap .fa-whatsapp {
  font-size: 24px !important;
}

.progress-middle {
  bottom: 60px;
}

.progress-bottom {
  bottom: 30px;
}

/* WhatsApp Icon – keine Extra-Animation */
.progress-middle i {
  font-size: 22px;
}

/* Optional: WhatsApp-Farbe beim Hover */
.progress-middle:hover i {
  color: #25d366;
}

/* ======= Accordion Box (for Faqs) style ======= */
.accordion-box {
  position: relative;
  padding: 0;
}

.accordion-box .block {
  position: relative;
  background: var(--t0357);
  border-radius: 0px;
  overflow: hidden;
  margin-bottom: 16px;
}

.accordion-box .block.active-block {
  background-color: var(--t0358);
}

.accordion-box .block:last-child {
  margin-bottom: 0;
}

.accordion-box .block .acc-btn {
  position: relative;
  font-size: 20px;
  line-height: 27px;
  font-weight: 300;
  letter-spacing: 1px;
  cursor: pointer;
  padding: 20px 40px;
  padding-right: 60px;
  color: var(--t0359);
  transition: all 500ms ease;
  font-family: "Oswald", sans-serif;
}

.accordion-box .block .acc-btn .count {
  color: var(--t0360);
  padding-right: 3px;
}

.accordion-box .block .acc-btn:before {
  position: absolute;
  right: 35px;
  top: 20px;
  height: 30px;
  font-size: 14px;
  font-weight: normal;
  color: var(--t0361);
  line-height: 30px;
  content: "\e61a";
  font-family: "Themify";
  transition: all 500ms ease;
}

.accordion-box .block .acc-btn.active {
  background-color: var(--t0362);
  color: var(--t0363);
}

.accordion-box .block .acc-btn.active:before {
  color: "Themify";
  content: "\e622";
}

.accordion-box .block .acc-content {
  position: relative;
  display: none;
}

.accordion-box .block .content {
  position: relative;
  padding: 0px 40px 30px;
  background-color: var(--t0364);
  color: var(--t0365);
}

.accordion-box .block .acc-content.current {
  display: block;
}

.accordion-box .block .content .text {
  display: block;
  position: relative;
  top: 0px;
  display: block;
}

/* summary darf block content enthalten */
details > summary {
  list-style: none;
  cursor: pointer;
}

details > summary::-webkit-details-marker {
  display: none;
}

details > summary::marker {
  content: "";
}

/* Toggle Text */
.label-less {
  display: none;
}

details[open] .label-more {
  display: none;
}

details[open] .label-less {
  display: inline;
}

.faq-extra {
  padding-left: 0rem !important;
}
/* Show less Text verstecken solange zu */
.faq-details .label-less {
  display: none;
}
.faq-details[open] .label-more {
  display: none;
}
.faq-details[open] .label-less {
  display: inline;
}

/* summary wie Button stylen */
.faq-details > summary {
  list-style: none;
  cursor: pointer;
}
.faq-details > summary::-webkit-details-marker {
  display: none;
}

/* optional: inneres UL reset */
.faq-extra {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Optional: Button-Klick fühlt sich "echt" an */
details > summary button {
  pointer-events: none;
}

/* --- summary wie Button stylen + zentrieren --- */
#summaryBtn {
  font-weight: 300 !important;
  font-family: "Oswald", sans-serif !important;
  text-transform: uppercase !important;

  background: var(--t0321) !important;
  color: var(--t0322) !important;

  padding: 13px 32px !important;
  position: relative !important;
  font-size: 16px !important;
  letter-spacing: 3px !important;

  border: 0 !important;
  outline: none !important;
  cursor: pointer !important;

  display: block !important;
  width: fit-content !important;
  margin: 30px auto !important;
  text-align: center !important;

  /* wichtig für den Fill */
  overflow: hidden !important;
}

/* Marker von <summary> entfernen */
#summaryBtn::-webkit-details-marker {
  display: none;
}
#summaryBtn::marker {
  content: "";
}

/* --- Hover-Fill-Animation wie bei .butn-dark button --- */
#summaryBtn::after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 100%;
  z-index: 1;
  background: var(--t0323);
  transition: all 0.3s ease;
}

/* Text über dem Overlay halten */
#summaryBtn > span {
  position: relative;
  z-index: 2;
}

/* Hover / Focus: Fill reinziehen */
#summaryBtn:hover::after,
#summaryBtn:focus-visible::after {
  width: 100%;
  left: 0;
  transition: width 0.3s ease;
}

/* Textfarbe beim Hover/Focus */
#summaryBtn:hover > span,
#summaryBtn:focus-visible > span {
  color: var(--t0325);
}

/* Optional: Fokus-Ring (barrierefrei) */
#summaryBtn:focus-visible {
  outline: 2px solid var(--t0323);
  outline-offset: 2px;
}

/* Show more/less Umschaltung (falls du sie nutzt) */
#summaryBtn .label-less {
  display: none;
}
details[open] #summaryBtn .label-more {
  display: none;
}
details[open] #summaryBtn .label-less {
  display: inline;
}

/* Wenn details geöffnet ist → summary ausblenden */
/* summary bleibt technisch vorhanden, ist aber unsichtbar */
details.faq-details[open] > summary#summaryBtn {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.faq-hidden {
  display: none !important;
}

details.faq-details {
  border: 0;
  padding: 0;
  margin: 0;
}

/* summary existiert weiter, ist aber komplett unsichtbar & nimmt keinen Platz */
#summaryBtn.summary-gone {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* ======= Pricing plan style ======= */
.pricing-card {
  background-color: var(--t0366);
  padding: 60px 40px 40px 40px;
  border-radius: 0;
  margin-bottom: 30px;
}

.pricing-card-bottom {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pricing-card-list {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}

.pricing-card-list li {
  position: relative;
  font-size: 16px;
  padding-left: 30px;
}

.pricing-card-list li + li {
  margin-top: 5px;
}

.pricing-card-list li i {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(50%);
  font-size: 15px;
  color: var(--t0367);
}

.pricing-card-list li i.unavailable {
  color: var(--t0368);
}

.pricing-card:hover {
  opacity: 1;
}

.pricing-card:hover i {
  color: var(--t0369);
}

.pricing-card-name {
  line-height: 1;
  margin: 0;
  font-size: 16px;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  color: var(--t0370);
  margin-bottom: 20px;
  letter-spacing: 5px;
  font-weight: 300;
}

.pricing-card-amount {
  margin: 0;
  line-height: 1;
  font-size: 40px;
  margin-bottom: 20px;
  color: var(--t0371);
}

/* butn */
.butn-pricing {
  position: relative;
  line-height: 1.2em;
}

.butn-pricing a {
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  background: var(--t0372);
  color: var(--t0373);
  padding: 13px 30px;
  margin: 0;
  position: relative;
  font-size: 16px;
  letter-spacing: 3px;
}

.butn-pricing a:after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 100%;
  z-index: 1;
  background: var(--t0374);
  color: var(--t0375);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.butn-pricing a span {
  position: relative;
  z-index: 2;
}

.butn-pricing a:hover:after {
  width: 100%;
  left: 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.butn-pricing a:hover span {
  color: var(--t0376);
}

/* ======= Error Page 404 style ======= */
.error-form {
  position: relative;
  max-width: 520px;
  margin: 50px auto 0;
}

.error-form form {
  position: relative;
}

.error-form .form-group {
  position: relative;
  margin: 0;
}

.error-form .form-group input[type="text"],
.error-form .form-group input[type="search"],
.error-form .form-group input[type="email"] {
  position: relative;
  width: 100%;
  line-height: 30px;
  padding: 20px 60px 20px 30px;
  height: 70px;
  display: block;
  font-family: "Didact Gothic", sans-serif;
  font-size: 16px;
  background: var(--t0377);
  color: var(--t0378);
  border-radius: 7px;
  border: var(--t0379);
  transition: all 300ms ease;
}

.error-form .form-group input[type="text"]:focus,
.error-form .form-group input[type="email"]:focus,
.error-form .form-group input[type="search"]:focus {
  border-color: var(--t0380);
}

.error-form .form-group input::-webkit-input-placeholder {
  color: var(--t0381);
}

.error-form .form-group .theme-btn {
  position: absolute;
  right: 20px;
  top: 10px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  font-size: 20px;
  background: none;
  color: var(--t0382);
}

.error-form .form-group .theme-btn span {
  vertical-align: middle;
  outline: none;
}

/* ======= Process style ======= */
.process .item {
  position: relative;
  z-index: 4;
}

.process .item img {
  position: absolute;
  width: 70%;
  right: -40%;
  top: 15px;
  opacity: 0.5;
}

.process .item img.tobotm {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.process .item.odd {
  margin-top: 50px;
}

.process .item .cont {
  padding: 40px 20px;
  background-color: var(--t0383);
  border: var(--t0384);
  border-radius: 10px;
  position: relative;
  z-index: 3;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: left;
}

.process .item .cont:hover {
  background-color: var(--t0385);
  border: var(--t0386);
}

.process .item .cont:hover .header3 {
  -webkit-text-stroke: var(--t0387);
}

.process .item .cont:hover .header6 {
  color: var(--t0388);
}

.process .item .cont:hover p {
  color: var(--t0389);
}

.process .item .icon {
  color: var(--t0390);
  font-size: 30px;
  width: 80px;
  height: 80px;
  line-height: 85px;
  border-radius: 50%;
  border: var(--t0391);
  margin-bottom: 30px;
}

.process .item .header3 {
  position: absolute;
  bottom: 0px;
  text-align: right;
  width: 100%;
  font-size: 40px;
  font-weight: 600;
  z-index: -1;
  color: var(--t0392);
  -webkit-text-stroke: var(--t0393);
  right: 20px;
}

.process .item .header6 {
  font-family: "Oswald", sans-serif;
  color: var(--t0394);
  font-size: 16px;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 5px;
  font-weight: 300;
}

@media screen and (max-width: 991px) {
  .process .item img {
    display: none;
  }

  .mb-md50 {
    margin-bottom: 50px;
  }
}

/* line animation */
/* line animation (Process) – wächst von der Mitte nach außen */
.process .item .line {
  width: 100%;
  display: inline-block;
  position: relative;
  margin-bottom: 0px;
}

.process .item .line:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  height: 1px;

  /* Start: kurze Line in der Mitte */
  width: 50px;

  background-color: var(--t0395);
  transform: translateX(-50%);
  transition: width 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

/* Hover: volle Breite, bleibt aber zentriert -> wächst links & rechts */
.process .item:hover .line:after,
.process .item .cont:hover .line:after {
  width: 100%;
  background-color: var(--t0396);
  transition-duration: 0.8s;
}

/* ======= Process 2 style ======= */
.process2.item {
  background-color: var(--t0397);
  padding: 30px 20px;
  position: relative;
  text-align: left;
}

.process2.item .icon {
  margin-bottom: 15px;
  font-size: 40px;
  color: var(--t0398);
}

.process2.item i.number {
  position: absolute;
  top: 110%;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background-color: var(--t0399);
  border: var(--t0400);
  line-height: 39px;
  text-align: center;
  left: 22px;
  font-style: normal;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 1px;
  color: var(--t0401);
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.process2.item .header3 {
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: var(--t0402);
  text-transform: uppercase;
  margin-bottom: 5px;
  letter-spacing: 5px;
}

.process .header6PathCenter {
  text-align: center;
}

.row > [class*="col-"]:nth-child(even) .process2.item {
  margin-top: 65px;
}

.row > [class*="col-"]:nth-child(even) .process2.item i.number {
  top: -60px;
}

.row > [class*="col-"]:nth-of-type(odd) .process2.item:before {
  top: 100%;
  left: 50%;
  border: var(--t0403);
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: var(--t0404);
  border-top-color: var(--t0405);
  border-width: 16px;
  left: 25px;
}

.row > [class*="col-"]:nth-of-type(even) .process2.item:before {
  top: -30px;
  left: 50%;
  border: var(--t0406);
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: var(--t0407);
  border-bottom-color: var(--t0408);
  border-width: 16px;
  left: 25px;
}

.process2.item:hover i.number {
  background-color: var(--t0409);
  border: var(--t0410);
}

/* line animation */
.process2.item .line {
  width: 100%;
  display: inline-block;
  position: relative;
  margin-bottom: 0px;
}

.process2.item .line:after {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 50px;
  height: 1px;
  background-color: var(--t0411);
  content: "";
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

.process2.item:hover .line:after {
  width: 100%;
  background-color: var(--t0412);
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: ease-in-out;
}

/* ====== Coming Soon ======= */
.comming {
  min-height: 100vh;
  height: auto;
  position: relative;
  background-blend-mode: overlay;
  /*background: var(--t0413);*/
  background-image: url("../img/villa\ sunset/0_background/villa-hero-1600.webp");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: var(--t0414);
}

@media (max-width: 767px) {
  .comming {
    min-height: 100vh;
  }
}

.comming .item {
  background-color: var(--t0415);
  border: var(--t0416);
  padding: 30px 15px;
  margin-bottom: 30px;
}

.comming .header6 {
  color: var(--t0417);
  font-size: 13px;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 5px;
  letter-spacing: 5px;
  line-height: 1.5em;
}

.comming .header3 {
  font-size: 48px;
  line-height: 1.25em;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  color: var(--t0418);
  position: relative;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 15px;
}

.comming .header2 {
  font-size: 48px;
  line-height: 1.25em;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  color: var(--t0419);
  position: relative;
  text-transform: uppercase;
  letter-spacing: 15px;
  margin-bottom: 20px;
  margin-top: 20px;
}

.comming p {
  color: var(--t0420);
  font-size: 16px;
}

/* coming form */
.comming form {
  margin-top: 30px;
  position: relative;
}

.comming form input {
  width: 100%;
  padding: 11px 50px 11px 20px;
  background-color: var(--t0421);
  border: var(--t0422);
  border-radius: 0px;
  color: var(--t0423);
  margin-bottom: 15px;
  outline: none;
}

.comming form input::placeholder {
  color: var(--t0424);
}

.comming form button {
  background-color: var(--t0425);
  padding: 8px 20px;
  border-radius: 0px;
  color: var(--t0426);
  border: 0;
  position: absolute;
  top: 4px;
  right: 4px;
  cursor: pointer;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 300;
  outline: none;
}

.comming form button:hover {
  background-color: var(--t0427);
  color: var(--t0428);
  outline: none;
}

.commingSoonItem {
  background-color: #272727 !important;
}

/* go home */
.go-back {
  margin-top: 45px;
}

.go-back a {
  color: var(--t0429);
  display: inline-block;
  font-size: 13px;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 5px;
}

.go-back a:hover {
  color: var(--t0430);
}

.go-back a span {
  transition: all 0.5s;
}

.go-back a span i {
  color: var(--t0431);
  font-size: 14px;
}

.go-back a:hover span {
  padding-right: 15px;
}

/* =======  Overlay Effect Bg image style  ======= */
[data-overlay-dark],
[data-overlay-darkgray],
[data-overlay-light] {
  position: relative;
}

[data-overlay-dark] .container,
[data-overlay-darkgray] .container,
[data-overlay-light] .container {
  position: relative;
  z-index: 2;
}

[data-overlay-dark]:before,
[data-overlay-darkgray]:before,
[data-overlay-light]:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}

[data-overlay-dark]:before {
  background: var(--t0432);
}

[data-overlay-darkgray]:before {
  background: var(--t0433);
}

[data-overlay-light]:before {
  background: var(--t0434);
}

[data-overlay-dark] .header1,
[data-overlay-dark] .header2,
[data-overlay-dark] .header3,
[data-overlay-dark] .header4,
[data-overlay-dark] .header5,
[data-overlay-dark] .header6,
[data-overlay-dark] span {
  color: var(--t0435);
}

[data-overlay-darkgray] .header1,
[data-overlay-darkgray] .header2,
[data-overlay-darkgray] .header3,
[data-overlay-darkgray] .header4,
[data-overlay-darkgray] .header5,
[data-overlay-darkgray] .header6,
[data-overlay-darkgray] span {
  color: var(--t0436);
}

[data-overlay-light] .header1,
[data-overlay-light] .header2,
[data-overlay-light] .header3,
[data-overlay-light] .header4,
[data-overlay-light] .header5,
[data-overlay-light] .header6,
[data-overlay-light] span {
  color: var(--t0437);
}

[data-overlay-dark] p {
  color: var(--t0438);
}

[data-overlay-darkgray] p {
  color: var(--t0439);
}

[data-overlay-light] p {
  color: var(--t0440);
}

[data-overlay-dark="0"]:before,
[data-overlay-darkgray="0"]:before,
[data-overlay-light="0"]:before {
  opacity: 0;
}

[data-overlay-dark="1"]:before,
[data-overlay-darkgray="1"]:before,
[data-overlay-light="1"]:before {
  opacity: 0.1;
}

[data-overlay-dark="2"]:before,
[data-overlay-darkgray="2"]:before,
[data-overlay-light="2"]:before {
  opacity: 0.2;
}

[data-overlay-dark="3"]:before,
[data-overlay-darkgray="3"]:before,
[data-overlay-light="3"]:before {
  opacity: 0.3;
}

[data-overlay-dark="4"]:before,
[data-overlay-darkgray="4"]:before,
[data-overlay-light="4"]:before {
  opacity: 0.4;
}

[data-overlay-dark="5"]:before,
[data-overlay-darkgray="5"]:before,
[data-overlay-light="5"]:before {
  opacity: 0.5;
}

[data-overlay-dark="6"]:before,
[data-overlay-darkgray="6"]:before,
[data-overlay-light="6"]:before {
  opacity: 0.6;
}

[data-overlay-dark="7"]:before,
[data-overlay-darkgray="7"]:before,
[data-overlay-light="7"]:before {
  opacity: 0.7;
}

[data-overlay-dark="8"]:before,
[data-overlay-darkgray="8"]:before,
[data-overlay-light="8"]:before {
  opacity: 0.8;
}

[data-overlay-dark="9"]:before,
[data-overlay-darkgray="9"]:before,
[data-overlay-light="9"]:before {
  opacity: 0.9;
}

[data-overlay-dark="10"]:before,
[data-overlay-darkgray="10"]:before,
[data-overlay-light="10"]:before {
  opacity: 1;
}

/* ======= Responsive style ======= */
@media (min-width: 1200px) {
  /*
    .container {
        max-width: 1140px !important;
    }
    */
}

@media screen and (max-width: 991px) {
  .bg-fixed {
    background-attachment: scroll !important;
  }

  .header {
    background-attachment: scroll !important;
    background-position: 50% 0% !important;
  }

  .hero-corner,
  .hero-corner2,
  .hero-corner3,
  .hero-corner4 {
    display: none;
  }

  .header .caption .header1 {
    font-size: 40px;
  }
}

@media screen and (max-width: 767px) {
  .hero .intro .header3 {
    font-size: 28px;
  }

  .hero .intro .header4 {
    font-size: 20px;
  }

  .header .caption .header1 {
    font-size: 30px;
    margin-bottom: 15px;
    letter-spacing: 10px;
    line-height: 1.35em;
  }

  .header .caption p {
    font-size: 15px;
    margin-right: 10px;
  }

  .header .caption .butn-light {
    margin-right: 10px;
  }

  .portfolio .filtering span {
    margin-bottom: 10px;
  }

  .bauen-blog .item .con .header5,
  .bauen-blog .item .con .header5 a {
    font-size: 20px;
  }

  .bauen-comment-section .header3 span {
    margin-left: 0px;
  }

  .main-footer .sub-footer p.right {
    text-align: left;
  }

  .main-footer .abot .social-icon {
    text-align: left;
    margin-bottom: 15px;
  }

  .footer .logo {
    padding: 0;
    width: auto;
    margin: 0px 0;
  }
}

@media screen and (max-width: 480px) {
  .section-head .header4 {
    font-size: 30px;
  }

  .footer {
    padding: 60px 0;
  }

  .text-left {
    text-align: left;
  }

  .text-center {
    text-align: center;
  }

  .text-right {
    text-align: center;
  }
}

/*Combo Advantage */
.comboContainer {
  background-color: var(--t0016);
  padding: 45px;
  z-index: 20;
}

.combo-wrapper {
  position: relative;
}

.combo-img-left {
  padding-right: 5px;
}

.combo-img-right {
  padding-left: 5px;
}

/* PLUS OVERLAY */
.combo-plus-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 54px;
  color: var(--t0042);
  background-color: var(--t0016);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 0 25px rgba(207, 164, 93, 0.5);
  transition: transform 0.5s ease;
}

.comboitemImage {
  padding-top: 0px !important;
}

/* Pulse Animation */
@keyframes comboPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(207, 164, 93, 0.6);
  }
  70% {
    box-shadow: 0 0 0 18px rgba(207, 164, 93, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(207, 164, 93, 0);
  }
}

/* Hover Desktop */
@media (min-width: 769px) {
  .combo-wrapper:hover .combo-plus-overlay {
    animation: comboPulse 1.6s infinite;
    transform: translate(-50%, -50%) scale(1.05);
  }
}

/* Anchor für Labels */
.about-img {
  position: relative;
}

.combo-value {
  position: relative;
  right: 40px;
  bottom: 30px;
  text-align: right;
  pointer-events: none;
}

.combo-value-amount {
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 300;
  letter-spacing: 3px;
  color: var(--t0042);
  line-height: 1;
}

.combo-value-label {
  margin-top: 8px;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: 0.55;
}

/* Mobile */
@media (max-width: 768px) {
  .combo-value {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    margin-top: 24px;
  }
}

.combo-value {
  position: relative;
  right: 40px;
  bottom: 30px;
  text-align: right;
  pointer-events: none;
}

.combo-value-amount {
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 300;
  letter-spacing: 3px;
  color: var(--t0042);
  line-height: 1;
}

.combo-value-label {
  margin-top: 8px;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: 0.55;
}

/* Mobile */
@media (max-width: 768px) {
  .combo-value {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    margin-top: 24px;
  }
}

/* ============================
   DESKTOP ≥ 992px
   beide rechts UNTEN
============================ */
@media (min-width: 992px) {
  .about-img .about-img-2 {
    right: 10% !important;
    bottom: -1px !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
  }
}

/* ============================
   MOBILE ≤ 991px
   Villa rechts OBEN
   Yacht rechts UNTEN
============================ */
@media (max-width: 991px) {
  /* Villa Sunset */
  .combo-img-left .about-img-2 {
    right: -1px !important;
    top: -1px !important;
    bottom: auto !important;
    left: auto !important;
  }

  /* Yacht Vienna2 */
  .combo-img-right .about-img-2 {
    right: -1px !important;
    bottom: -1px !important;
    top: auto !important;
    left: auto !important;
  }
}

/* ============================
   768px – 991px
   Villa links OBEN
============================ */
@media (min-width: 768px) and (max-width: 991px) {
  .combo-img-left .about-img-2 {
    left: -1px !important;
    top: -1px !important;
    right: auto !important;
    bottom: auto !important;
  }
}

/* ============================
   Mobile Layout + Plus
============================ */
@media (max-width: 768px) {
  .combo-wrapper {
    padding: 40px 0;
  }

  .combo-img-left,
  .combo-img-right {
    padding: 0;
    width: 100%;
    margin: 0;
  }

  .combo-img-left {
    margin-bottom: 10px;
  }

  .combo-img-right {
    margin-top: 10px;
  }

  .combo-plus-overlay {
    width: 64px;
    height: 64px;
    font-size: 40px;
    animation: comboPulse 1.6s infinite;
  }
}
.text-layer {
  position: relative;
  overflow: hidden;
  /* darf rauslaufen, aber wird abgeschnitten */
}

/* Hintergrundtext: existiert, kann Kontrast haben */
.text-layer .bg-text {
  position: absolute;
  inset: -20vh -20vw;
  /* darf über Ränder laufen */
  font-size: 12vw;
  white-space: nowrap;
  color: #fff;
  /* starker Kontrast */
  z-index: 0;
  pointer-events: none;
}

/* Content liegt drüber + deckt ab */
.text-layer .content {
  position: relative;
  z-index: 2;
  /* DAS ist der Trick: deckende Fläche */
  background: var(--t0002, #272727);
  /* dein Body Background */
}

.text-layer .bg-text {
  position: absolute;
  inset: 0;
  color: #fff;
  font-size: 12vw;
  /* unsichtbar, aber im DOM */
  clip-path: inset(100%);
}
