@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-BlackItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Black.woff2') format('woff2'),
        url('../fonts/NotoSans-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ExtraBold.woff2') format('woff2'),
        url('../fonts/NotoSans-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Bold.woff2') format('woff2'),
        url('../fonts/NotoSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-BoldItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-BoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ExtraBoldItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-ExtraBoldItalic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Italic.woff2') format('woff2'),
        url('../fonts/NotoSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Light.woff2') format('woff2'),
        url('../fonts/NotoSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-LightItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ExtraLight.woff2') format('woff2'),
        url('../fonts/NotoSans-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ExtraLightItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-SemiBoldItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Thin.woff2') format('woff2'),
        url('../fonts/NotoSans-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-MediumItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-SemiBold.woff2') format('woff2'),
        url('../fonts/NotoSans-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Regular.woff2') format('woff2'),
        url('../fonts/NotoSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Medium.woff2') format('woff2'),
        url('../fonts/NotoSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ThinItalic.woff2') format('woff2'),
        url('../fonts/NotoSans-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

/* Alle Bootstrap-Komponenten ohne Rundungen */
*,
*:before,
*:after {
  border-radius: 0 !important;
}
.btn,
.card,
.alert,
.badge,
.form-control,
.input-group,
.navbar,
.dropdown-menu,
.modal-content,
.toast,
.pagination,
.progress,
.list-group-item,
.accordion-button {
  border-radius: 0 !important;
}

.logo{
    height: 100px;
}

html, body{
    background: #FFFFFF;
background: -moz-linear-gradient(top, #FFFFFF 0%, #EFEEEA 30%, #EFEEEA 100%);
background: -webkit-linear-gradient(top, #FFFFFF 0%, #EFEEEA 30%, #EFEEEA 100%);
background: linear-gradient(to bottom, #FFFFFF 0%, #EFEEEA 30%, #EFEEEA 100%);
}

/* Mitgliederbox */
.p-relative {
    position: relative;
}
.about-right-side>img {
    padding: 0;
    padding-top: 35px;
    padding-left: 35px;
}
.about-right-side .about-meta {
    position: absolute;
    bottom: 59px;
    right: -26px;
    max-width: 380px;
    background-image: -webkit-linear-gradient(top,#fd5d14,#fd7537);
    padding: 30px 25px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.about-right-side:before {
    content: '';
    background: #fd5d14;
    display: block;
    height: 50%;
    z-index: -1;
    position: absolute;
    width: calc(20% + 20px);
    right: 35px;
    left: 0px;
}
.about-right-side:after {
    content: '';
    background: #fd5d14;
    display: block;
    height: 50%;
    z-index: -1;
    position: absolute;
    width: calc(20% + 20px);
    left: 35px;
    right: 0px;
}
.about-right-side .about-meta:before {
    content: '';
    border-width: 20px;
    border-color: #fd7435 transparent transparent #fd7334;
    border-style: solid;
    position: absolute;
    bottom: -40px;
    right: 0;
    z-index: -1;
}
.about-right-side>img {
    padding: 0;
    padding-top: 20px;
    padding-left: 20px;
}

html, body {
    font-family: 'Noto Sans';
    font-weight: 400;
}

.navtitle{
    padding: 5px 10px;
    background-color: #be4e20;
    color: #fff;
    z-index: 99999999 !important;
}
#carouselExampleCaptions{
    z-index: 1 !important;
}
.text-orange{
    color:#E95C0F;
}
.bg-orange{
    background-color: #be4e20;
}
.border-orange{
    border-color: solid 1px #be4e20 !important;
}
.blueBox{
    background-color: rgb(23,62,118);
}

.mitglieder-gray{
    background-color: rgb(235, 233, 233);
}
.card_text_info_icon {
    padding-right: 1rem;
    position: relative;
    line-height: 1.5;
    margin-bottom: 0px;
    float: left;
}
.card_text_info_icon_first {
    margin-bottom: 25px;
}
.vk_card{
    font-size: .8rem;
}
.vk_card h5{
    font-size: 1rem !important;
}
footer{
    background-color: #193737;
}
.footer_cop{
    background-color: #162a2a;
}

@media (min-width: 992px) { 
    .h-md-25 {
        height: 25%!important;
    }
}

.navigation a{
    text-shadow: 0.1em 0.1em 0.15em #cecece;
    font-family: 'Noto Sans';
    font-weight: 500;
}
@media (max-width: 768px) { 
    .navtitle {
        padding: 5px 10px;
        background-color: rgb(253,93,20);
        color: #fff;
        position: relative;
        top: 0px;
        z-index: 99999999 !important;
    }
    .navigation{
        padding: 15px 0;
    }
}

.dropdown:hover .dropdown-menu {
    display: block
}

.dropdown-menu {
    margin-top: 0!important
}

.dropdown-toggle::after {
    display: none
}

#myBtn {
    display: none;
    position: fixed;
    bottom: 60px;
    right: 30px;
    z-index: 99;
    color: rgb(253,93,20);
}
.kontaktbox{
    background-image: url('../img/kontaktbox.jpg');
    background-attachment: fixed;
}
.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 10rem;
    left: 15%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: #fff;
    text-align: center;
    text-shadow: 5px 5px 5px #000000;
}
.filter-button a{
    cursor:pointer;
}


.card_image_pass{
    display: flex;
      justify-content: center;
}

.fitting-image {
    width: 100%;
    object-fit:cover;
}


.container_image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    background-color: #FFFFFF;
}

.image {
    width: 100%;
}

@media (max-width: 768px) { 
    .container_image {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 125px;
        background-color: #FFFFFF;
    }
    
    .image {
        width: 100%;
    }
    .p-sm-0{
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

.text-facebook{
    color: #0866FF;
}
.text-instagram{
    color: #BD0090;
}
.text-linkedin{
    color: #0077B0;
}
.text-youtube{
    color: #FE0000;
}
.text-twitter{
    color: #1D9BF0;
}
.text-vimeo{
    color: #12B6E9;
}

#map { height: 500px; }


.card-img-top {
  height: 150px;
  width: 100%;
  object-fit: contain;
  object-position: center;
}
.card.h-100 {
  /*min-height: 520px;  anpassen nach Layout-Test */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-img-top {
  padding: 10px;
  background-color: white;
  border-radius: 0.5rem;
}


.card-body {
  flex-grow: 1;
}

.card-title {
  min-height: 4rem; /* Reserve für 2 Zeilen Titel */
}

.card-body > div:first-child {
  flex-grow: 1;
}

.card {
  display: flex;
  flex-direction: column;
}
.card-body {
  flex: 1 1 auto;
}
.card-body .collapse p {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Max. 3 Zeilen */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Optionale Mini-Optimierungen */
.project-card .card-img-top, .project-card .carousel-item img {
object-fit: cover; /* sichert saubere Zuschnitte */
}
.project-card .badge {
position: absolute; top: .75rem; left: .75rem; z-index: 2;
}