/*!
 * Casa Maa
 * https://www.inmedia-design.com/
 * Copyright (c) 2025 inmedia-design.com
 */

@charset "UTF-8";

.singb {
  font-size: 1.75rem !important;
}

.oc-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oc-desc p {
  font-size: 14px;
  line-height: 18px;
}

p {
  text-align: justify !important;
}

.charity-card p {
  overflow: visible;
}

p.before-heading {
  text-align: center !important;
}

/* 1. Der Hauptcontainer mit dem Hintergrundbild */
.image-with-overlay {
  position: relative;
  /* Wichtig: Dient als Anker für die inneren Elemente */
  width: 100%;
  height: 650px;

  /* Ersetze dies mit deinem Bildpfad */

  background-size: cover;
  background-position: center;

  /* Macht den Container zu einem Flex-Container, um die Overlay-Box zu positionieren */
  display: flex;
}

.lead {
  color: #000
}

/* 2. Die graue, halbtransparente Overlay-Box */
.overlay-content {
  /* Größe und Positionierung */
  width: 50%;
  margin-left: auto;
  /* Schiebt die Box automatisch an den rechten Rand */

  /* Styling */
  background-color: rgba(191, 189, 176, 0.8);
  /* Dunkelgrau mit 70% Deckkraft */
  color: white;
  /* Stellt sicher, dass der Text darin weiß ist */

  /* Innere Ausrichtung des Textes mit Flexbox */
  display: flex;
  flex-direction: column;
  /* Stapelt H2 und P übereinander */
  justify-content: center;
  /* Zentriert den Inhalt vertikal */

  /* Abstand des Textes zum Rand */
  padding: 0 5%;
}

.portfolio-image {
  position: relative;
}

.bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.portfolio-item:hover .bg-overlay {
  opacity: 1;
  visibility: visible;
}

.py-4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.py-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.py-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

  .oc-desc {
    position: absolute;
        top: unset;
        bottom: 8% !important;
        left: 5%;
        background-color: transparent;
        padding: 0;
        border-radius: 3px;
        height: 1%;
        width: 90%;
  }
  
  .oc-desc h3 {
	  color: white;
	  font-size: 18px;
  }
  
  .charity-card h3 a {
    color: white;
}
.charity-card h3 {
    font-size: 18px;
}

.owl-carousel .owl-item.active.center .oc-desc {
    opacity: 1;
    transform: scale(1);
}

/* 3. Responsive Anpassung für mobile Geräte */
@media (max-width: 767px) {
	
	#header-wrap {
		border-bottom: none;
	}

  .image-with-overlay {
    height: 500px;
    margin-top: 2em;
    margin-bottom: 2em;
  }

  .hideonmobile {
    display: none;
  }

  .skill-progress-title {
    margin-bottom: 0;
  }

  #field_ocfup1_label {
    display: none;
  }

  .listy {
    margin-top: 0.75em;
  }

.portfolio-single-content {
	padding-top: 4em;
}

  .overlay-content {
    width: 100%;
    /* Die Box nimmt die volle Breite ein */
    margin-left: 0;
    padding: 0 10%;
    /* Weniger Padding auf kleinen Bildschirmen */
    justify-content: flex-end;
    /* Schiebt den Text nach unten für besseres Layout */
    padding-bottom: 4rem;
  }

  p,
  .content-wrap p {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }

  p.lead {
    margin-bottom: 2em !important;
  }

  .mb-1 {
    margin-bottom: 5px;
  }

  .oc-desc small, .oc-desc .skill-progress {
    display: none !important;
  }
  
  .h1home {font-size: 0.75rem;}

  .overlay-content h2 {
    font-size: 22px;
  }

  #block-portfolio-1,
  .portfolio-single-image {
    padding-bottom: 2em;
  }

  .mb-3,
  .mb-5 {
    margin-bottom: 0rem !important;
  }

  .fancy-title h3 {
    margin-bottom: 0;
  }

  .team {
    padding: 1em 2em;
  }

  .team-desc .mt-4 {
    margin-top: 0px !important;
  }




  .block-portfolio-single-grid .content-wrap {
    overflow: inherit;
  }



  .block-portfolio-single-grid .portfolio-meta {
    font-size: .925rem;
  }

  .block-portfolio-single-grid .portfolio-meta li {
    margin-bottom: 14px
  }

  .container,
  .container-fluid {
    padding-right: calc(var(--bs-gutter-x) * 1.2);
    padding-left: calc(var(--bs-gutter-x) * 1.2);
  }

  .image-grid {
    margin-top: 1em;
  }










}



@media (max-width: 991px) {

  .singpro .col-lg-7 {
    order: 2;
  }

  .singpro .col-lg-5 {
    order: 1;
  }

  .portfolio-single-image {
    margin-top: 0 !important;
  }


}


@media (min-width: 992px) {

  .content-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px;
    height: 100%;
  }

  .col-lg-8 {
    flex: 0 0 auto;
    width: 79.33333333%;
  }


}
