/*   
Theme Name: BML ADVISORY 2025
Theme URI: https://inmedia-design.com
Description: bespoke Theme for BML ADVISORY
Author: INMEDIA
Author URI: https://inmedia-design.com
Version: 2
*/


body {
  font-family: 'Jost', sans-serif;
  color: #333;
  margin: 0;
  padding: 0;
}

.container-custom {
    width: 100%;
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.h1, h1,
.h2, h2,
.h3, h3,
footer
{font-family: 'Jost', serif !important;}

 [data-aos] {
      opacity: 0;
      transition-property: transform, opacity;
    }

    .aos-animate {
      opacity: 1;
    }

 .navbar {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 100;
  background-color: transparent;
  padding: 0.5rem 0;
}

  .nav-link {
    font-family: 'Jost', serif !important;
    padding: 0 20px !important;
  }
  
  
.navbar-light a {
	color: white !important;
}
.dropdown-menu a {
	color: #8C8578 !important;
}


.sticky-navbar a {
	color: #8C8578 !important;
}
.navbar.sticky-navbar {
  position: fixed;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.navbar .container-custom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.navbar-brand {
  min-height: 100px;
  display: flex;
  align-items: flex-end;
}
.navbar-brand img {
  max-height: 100px;
}
.navbar-toggler {
  border: none;
}
.navbar-nav {
  align-items: flex-end;
}
.logo-default,
.logo-sticky {
  max-height: 100px;
  transition: opacity 0.3s ease;
}
.logo-sticky {
  display: none;
}
.sticky-navbar .logo-default {
  display: none;
}
.sticky-navbar .logo-sticky {
  display: inline;
}

.navbar-toggler-icon {
  background-size: 100% 100%;
}


.defaultheader {
	  width: 100%;
	  background-color: #8C8578; 
	  margin-bottom: 3em;
}

.defaultheader h1 {padding: 5em 0 2em 0; color: white;}




.hero {
  position: relative;
  height: 100vh; /* Höhe des sichtbaren Bereichs */
  width: 100%;
  background-repeat: no-repeat;
  background-color: #c2c7c3; 
  background-attachment: fixed; /* Parallax-Effekt für Desktop */
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
  overflow: hidden;
}

.hero > * {
  z-index: 2;
}

.hero h1 {
  font-size: 4rem;
  font-weight: 600;
  font-family: 'Jost', serif;
}

.hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.hero--video .hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* --- KORREKTUR FÜR MOBILE GERÄTE --- */
@media (max-width: 768px) {
  .hero {
    background-attachment: scroll;
  }


}

















.h2, h2 {
	font-size: 3rem;
    font-weight: 600;
    margin-bottom: 30px;
}

.h3, h3 {
    font-size: 2.5rem;
    padding-bottom: 15px;
}

p {
	color: #8C8578;
	font-size: 18px;
}

a, a:hover {
	text-decoration: none;
}

.beige {
	color: #8C8578;
}
.white {
	color: white;
}

.frm_primary_label {
	font-size: 16px !important;
}

/*paddings & margins */

.dmt-05 {margin-top: 0.5em}
.dmt-1 {margin-top: 1em}
.dmt-2 {margin-top: 2em}
.dmt-3 {margin-top: 3em}
.dmt-4 {margin-top: 4em}
.dmt-5 {margin-top: 5em}
.dmt-6 {margin-top: 6em}
.dmt-7 {margin-top: 7em}
.dmt-8 {margin-top: 8em}
.dmt-9 {margin-top: 9em}
.dmt-10 {margin-top: 10em}

.dmb-05 {margin-bottom: 0.5em}
.dmb-1 {margin-bottom: 1em}
.dmb-2 {margin-bottom: 2em}
.dmb-3 {margin-bottom: 3em}
.dmb-4 {margin-bottom: 4em}
.dmb-5 {margin-bottom: 5em}
.dmb-6 {margin-bottom: 6em}
.dmb-7 {margin-bottom: 7em}
.dmb-8 {margin-bottom: 8em}
.dmb-9 {margin-bottom: 9em}
.dmb-10 {margin-bottom: 10em}

.dpt-05 {padding-top: 0.5em}
.dpt-1 {padding-top: 1em}
.dpt-2 {padding-top: 2em}
.dpt-3 {padding-top: 3em}
.dpt-4 {padding-top: 4em}
.dpt-5 {padding-top: 5em}
.dpt-6 {padding-top: 6em}
.dpt-7 {padding-top: 7em}
.dpt-8 {padding-top: 8em}
.dpt-9 {padding-top: 9em}
.dpt-10 {padding-top: 10em}


.dpb-05 {padding-bottom: 0.5em}
.dpb-1 {padding-bottom: 1em}
.dpb-2 {padding-bottom: 2em}
.dpb-3 {padding-bottom: 3em}
.dpb-4 {padding-bottom: 4em}
.dpb-5 {padding-bottom: 5em}
.dpb-6 {padding-bottom: 6em}
.dpb-7 {padding-bottom: 7em}
.dpb-8 {padding-bottom: 8em}
.dpb-9 {padding-bottom: 9em}
.dpb-10 {padding-bottom: 10em}

.dpr-5 {padding-right: 5em}
.dpr-8 {padding-right: 8em}
.dpr-9 {padding-right: 9em}
.dpr-10 {padding-right: 10em}

.dpl-5 {padding-left: 5em}
.dpl-8 {padding-left: 8em}
.dpl-9 {padding-left: 9em}
.dpl-10 {padding-left: 10em}

@media (max-width: 768px) {
	.hideonmob {display: none;}
	.mmt-05 {margin-top: 0.5em}
	.mmt-1 {margin-top: 1em}
	.mmt-2 {margin-top: 2em}
	.mmt-3 {margin-top: 3em}
	.mmt-4 {margin-top: 4em}
	.mmt-5 {margin-top: 5em}
	.mmt-6 {margin-top: 6em}
	.mmt-7 {margin-top: 7em}
	.mmt-8 {margin-top: 8em}
	.mmt-9 {margin-top: 9em}
	.mmt-10 {margin-top: 10em}
	
	.mmb-0 {margin-bottom: 0em}
	.mmb-05 {margin-bottom: 0.5em}
	.mmb-1 {margin-bottom: 1em}
	.mmb-2 {margin-bottom: 2em}
	.mmb-3 {margin-bottom: 3em}
	.mmb-4 {margin-bottom: 4em}
	.mmb-5 {margin-bottom: 5em}
	.mmb-6 {margin-bottom: 6em}
	.mmb-7 {margin-bottom: 7em}
	.mmb-8 {margin-bottom: 8em}
	.mmb-9 {margin-bottom: 9em}
	.mmb-10 {margin-bottom: 10em}
	
	.mpt-05 {padding-top: 0.5em}
	.mpt-1 {padding-top: 1em}
	.mpt-2 {padding-top: 2em}
	.mpt-3 {padding-top: 3em}
	.mpt-4 {padding-top: 4em}
	.mpt-5 {padding-top: 5em}
	.mpt-6 {padding-top: 6em}
	.mpt-7 {padding-top: 7em}
	.mpt-8 {padding-top: 8em}
	.mpt-9 {padding-top: 9em}
	.mpt-10 {padding-top: 10em}
	
	.mpb-05 {padding-bottom: 0.5em}
	.mpb-1 {padding-bottom: 1em}
	.mpb-2 {padding-bottom: 2em}
	.mpb-3 {padding-bottom: 3em}
	.mpb-4 {padding-bottom: 4em}
	.mpb-5 {padding-bottom: 5em}
	.mpb-6 {padding-bottom: 6em}
	.mpb-7 {padding-bottom: 7em}
	.mpb-8 {padding-bottom: 8em}
	.mpb-9 {padding-bottom: 9em}
	.mpb-10 {padding-bottom: 10em}
	
	
	.mpr-0 {padding-right: 0em}
	.mpr-1 {padding-right: 1em}
	.mpr-2 {padding-right: 2em}
	
	.mpl-0 {padding-left: 0em}
	.mpl-1 {padding-left: 1em}
	.mpl-2 {padding-left: 2em}
	}
	
	.gray-bg {
		background-color: #C6C2BC;
		color: white !important;
	}
	.gray-bg p {
		color: white;
	}
	.expanding-button {
	  display: inline-block;
	  width: 150px;
	  height: 50px;
	  line-height: 50px;
	  background-color: #8C8578;
	  color: white !important;
	  text-align: center;
	  text-decoration: none;
	  font-weight: 500;
	  overflow: hidden;
	  white-space: nowrap;
	  transition: width 0.4s ease;
	}
	#frm_field_6_container .submit .expanding-button {
	  display: inline-block;
	  width: 100px;
	  height: 50px;
	  line-height: 50px;
	  background-color: #8C8578;
	  color: white !important;
	  text-align: center;
	  text-decoration: none;
	  font-weight: 500;
	  overflow: hidden;
	  white-space: nowrap;
	  transition: width 0.4s ease;
	  border-radius: 0;
	  padding: 0;
	}
	
	/* Beim Hover auf 200px erweitern */
	.expanding-button:hover {
	  width: 200px !important;
	  color: white; /* ← wichtig! */
	}



/* ELEMENTS**/

.two-col-h2-p-img h2,
.two-col-h3-text h2,
.two-col-h3-text h3 {
	color: #8C8578;
}

.video-cta {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-wrapper iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.video-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 33%;
  height: 100%;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  color: white;
  z-index: 2;
  background: rgba(0, 0, 0, 0.2); /* optional halbtransparentes Overlay */
}
.loop_video {
	width: 100%;
	height: 100%;
}

.video-overlay h5,
.video-overlay h4 {
  margin: 0 0 10px;
  text-align: right;
  
}

.video-overlay .cta-button {
  margin-top: 10px;
}



    .cta-button {
      display: inline-block;
      background-color: #888;
      color: white;
      padding: 15px 30px;
      text-decoration: none;
      position: relative;
      overflow: hidden;
      transition: color 0.3s ease;
    }
    .cta-button::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%;
      background-color: white;
      transform: translateX(0);
      transition: transform 0.3s ease;
      z-index: -1;
    }
    .cta-button:hover {
      color: #333;
    }
    .cta-button:hover::before {
      transform: translateX(-100%);
    }
    /* Responsive Grid Fix */
    .section-grid {
      display: flex;
      flex-wrap: wrap;
    }
    .grid-item {
      width: 33.3333%;
      padding-top: 33.3333%;
      position: relative;
      border: 1px solid #8C8578;
      overflow: hidden;
    }
    @media (max-width: 768px) {
      .grid-item {
        width: 100%;
        padding-top: 100%;
      }
    }
    .grid-item-content {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      padding: 6em;
      z-index: 2;
    }
    .grid-item-content h3, .grid-item-content .miniheadline {
	    color: #8C8578;
	    font-weight: 600;
    }
    
    .grid-item:hover .grid-item-content h3,
    .grid-item a:hover,
	.grid-item:hover .grid-item-content .miniheadline {
	  color: white;
	}

  
    .grid-item-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .grid-item:hover .grid-item-bg {
      opacity: 1;
    }
    .grid-item:hover {
      color: white;
    }
    /* Neues Overlay */
	.grid-overlay {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-color: rgba(30, 30, 30, 0.35); /* leichter Grauschleier */
	  opacity: 0;
	  transition: opacity 0.3s ease;
	  z-index: 1;
	}
	
	/* Beim Hover über das Item: Overlay einblenden */
	.grid-item:hover .grid-overlay {
	  opacity: 1;
	}

    .miniheadline {
    font-weight: 500 !important;
    padding-bottom: 1.5em;
    font-size: 18px;
	}

    /* Arrow Styles */
    .arrow-wrap {
      position: relative;
      width: 100px;
      height: 3px;
      margin-top: 10px;
    }
    .arrow-line {
      position: absolute;
      top: 0;
      left: 0;
      height: 3px;
      width: 0;
      background-color: currentColor;
      transition: width 0.4s ease;
    }
    .arrow-wrap::after {
      content: '';
      position: absolute;
      top: -6px;
      right: -10px;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 8px solid currentColor;
      opacity: 0;
      transition: opacity 0.3s ease 0.3s;
    }
    .grid-item:hover .arrow-line {
      width: 100%;
    }
    .grid-item:hover .arrow-wrap::after {
      opacity: 1;
    }
    
    .instagram h2 {
	    color: #8C8578;
	    margin-bottom: 10px;
    }
    
	.instagram img {
		 width: 100%;
      height: auto;
      object-fit: cover;
	}

    .project-section .col-md-4 {
      padding: 0 30px;
      display: flex;
      flex-direction: column;
    }
    .project-section .project-link {
      display: flex;
      flex-direction: column;
      height: 100%;
    }
    .project-section .image-container {
      display: flex;
      align-items: flex-end;
      justify-content: center;
      flex-grow: 1;
      margin-bottom: 15px;
      height: auto;
    }
    .project-section img {
      max-width: 100%;
      object-fit: contain;
      align-self: flex-end;
    }
	.project-link h3 {
		padding-bottom: 0;
		color: #8C8578;
		font-weight: 400;
	}
    .project-section .location {
      color: #8C8578;
      font-size: 1.2rem;
      font-weight: 500;
    }
    .project-link {
      text-decoration: none;
      color: inherit;
    }
    
     .footer {
      background-color: #8C8578;
      color: white;
      padding: 5em 0;
    }
    .footer h3 {
      border-top: 1px solid white;
    }
    .social-icons a {
      display: inline-block;
      width: 30px;
      height: 30px;
      line-height: 40px;
      text-align: center;
      margin-right: 10px;
    }
    .social-icons img {
	    width: -webkit-fill-available;
    }
    .footer-logos img {
      width: 100%;
      aspect-ratio: 5/4;
      object-fit: contain;
    }
    
    .square-image {
	  aspect-ratio: 1 / 1;
	  width: 100%;
	  object-fit: cover;
	}
	
	.image-text-section .col-md-8 {
	  padding-left: 9em;
	  padding-right: 9em;
	}
	.image-text-section h3 {
		color: #8C8578;
	}


.info-container {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 5em 0;
  margin: 5em 0;
}

.info-box {
  text-align: left;
  margin-bottom: 2em;
  color: #8C8578;
}

.info-box p {
  margin-bottom: 0.3em;
  font-size: 0.9em;
  color: #8C8578;
}

.info-box .info-value {
  font-size: 1.9em;
  font-weight: bold;
}



.carousel-gallery {
  padding: 2rem 0;
}

.carousel-gallery .swiper-container {
  width: 100%;
  overflow: hidden;
}

.carousel-gallery .swiper-wrapper {
  display: flex;
  align-items: center;
}

.carousel-gallery .swiper-slide {
  flex-shrink: 0;
  width: auto;
  margin-right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.carousel-gallery .swiper-slide img {
  height: 500px;
  width: auto;
  object-fit: cover;
  display: block;
}

/* Optional: letzter Slide ohne rechten Abstand */
.carousel-gallery .swiper-slide:last-child {
  margin-right: 0;
}

/* Mobile Anpassung */
@media (max-width: 768px) {
  .carousel-gallery .swiper-slide img {
    height: 300px; /* Weniger Höhe auf kleinen Geräten */
  }
}





.page-id-323 .foox {
	display: none;
}





.text-image-section img {
  object-fit: cover;
  height: 100%;
  display: block;
}
.text-image-section h3 {
	color: #8C8578;
}

@media (max-width: 767.98px) {

  .text-image-section h3 {
	  margin-top: 1em;
  }
  .image-text-section .col-md-8 {
	    padding-left: 1em;
	    padding-right: 1em;
	}
	.image-text-section h3 {
	    font-size: 1.9em;
	    padding-top: 1em;
	}
}




.text-image-section img {
  object-fit: cover;
  height: 100%;
  display: block;
}

@media (max-width: 767.98px) {
  .text-image-section .row {
    flex-direction: column-reverse;
  }
}

.custom-split-section .row {
  display: flex;
  align-items: center;
}

.custom-split-section .highlight-box {
  background-color: #8C8578;
  color: white;
  padding: 5em;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-split-section .highlight-box h3 {
  text-align: left;
  margin: 0 auto;
  width: 100%;
  max-width: 500px;
}

.custom-split-section p {
	    padding: 3em;
    margin-bottom: 0;
}


.cta-image-text-section {
  background: linear-gradient(135deg, #DADAD4 0%, #D5D0CC 100%);
  padding: 5em 0;
}

.cta-image-text-section .row {
  display: flex;
  align-items: center;
}

.cta-image-text-section img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  padding: 3em;
}

.cta-image-text-section .content {
  padding-left: 6em;
}

.cta-image-text-section .content p {
  font-size: 0.9em;
  color: #8C8578;
  margin-bottom: 0.5em;
}

.cta-image-text-section .content h3 {
  margin-bottom: 1.5em;
  font-size: 1.8em;
  color: #8C8578;
}

.contact-image-section h2 {
	color: #8C8578;
}

.frm_form_field {
	border-bottom: 1px solid #C6C2BC;
}
#frm_field_13_container, #frm_field_12_container, #frm_field_6_container, #frm_field_7_container {
	border-bottom: none;
}

/* Desktop Layout */
.pdf-bg-desktop {
  
  background-size: cover;
  background-position: center;
  height: 700px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.pdf-info-box {
  width: 40%;
  padding: 2rem;
  color: white;
  text-align: left;
}

.preheadline {color: white}

/* Buttons */
.btn-outline-white {
  display: inline-block;
  width: 200px;
  margin-bottom: 1rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid #fff;
  color: #fff;
  background: transparent;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-outline-white:hover {
  background: white;
  color: black;
}

/* Mobile Layout */
.pdf-image-mobile {
  width: 100%;
  padding-top: 80%;
  background-size: cover;
  background-position: center center;
}

.pdf-info-box-mobile {
  background-color: #999;
  color: white;
  padding: 2rem 1rem;
  text-align: center;
}





@media (max-width: 768px) {
	
	
	
		.navbar .container-custom {
		display: flex;
		justify-content: space-between;
		align-items: center;
		}
		
		.navbar-collapse {
		  background-color: #ffffff;
		  padding: 1.5rem;
		  border-radius: 0 0 12px 12px;
		  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
		  position: absolute;
		  top: 110px; /* passe je nach Navbar-Höhe an */
		  right: 0;
		  width: 100%;
		  z-index: 1000;
		  transition: all 0.3s ease-in-out;
		}
		
		.navbar-nav {
		text-align: right;
		}
		
		.nav-link {
		padding: 0.5rem 1rem;
		color: #333;
		font-family: 'Jost', serif !important;
		}
		.nav-item {width: 100%; text-align: -webkit-center;}
		
		.footer ul li, address, .subline {
			font-size: 1.2em;
		}
		.footer ul li a {
			padding-bottom: 16px;
			display: block;
		}
		.hero {
		  padding: 0 1em;
		}
		.hero h1 {
		  font-size: 3rem;
		  width: 100%
		}
		
		.hero h6, .hero h5 {
			width: 100%
		}
		.navbar-brand img {
		  max-height: 75px;
		}
		.h2, h2 {
		font-size: 2.05rem;
		font-weight: 600;
		margin-bottom: 30px;
		}
		
		.h3, h3 {
		    font-size: 2.05rem;
		    padding-bottom: 15px;
		}
		p {
			padding-right: 15px;
		}
		.grid-item-content {
			padding: 4em;
		}
		.video-overlay {
			width: auto;
		} 
		.project-section .col-md-4 {
		  padding: 0 15px;
		}
		.navbar-light a {
		color: #8C8578 !important;
		padding: 7px 0 !important;
		}
		.custom-split-section p {
			background-color: #C6C2BC;
			color: white;
		}
		.navbar-light .navbar-toggler-icon {
		    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E) !important
		    ;
		}
	
  
}