/* ==============================================
   Topbar
=============================================== */

.topbar {
    width: 100%;
    background: #44505c;
    color: #fff;
    font-size: 14px;
    padding: 8px 0;
}

.topbar .content-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topbar-left {
    font-weight: 400;
}

.topbar-right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.topbar-right a {
    color: #fff;
    font-size: 18px;
    transition: 0.3s;
}

.topbar-right a:hover {
    color: #e4211b;
    text-decoration: none;
}

/* Mobile */
@media (max-width: 768px) {
    .topbar .content-container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}




/****** Bilder responsive ****************/
.image-embed-item, embed, object, video {
width:100%;
max-width: 100%;
height: auto;
}



/******** eigene 3 Spalten Elemente *********/
/* Container-Layout */
.skills-cards {
  display: flex;
  gap: 2rem;
}

/* Spalten behalten ihre Breite */
.skills-cards > .col {
  display: flex;
}

/* DIE CARD */
.skills-cards .frame-type-textpic {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 35px rgba(0,0,0,0.12);
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Bild bleibt RANDLOS */
.skills-cards .frame-type-textpic img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

/*  NUR DER TEXT bekommt Abstand */
.skills-cards .frame-type-textpic .ce-bodytext {
  padding: 1.5rem 1.75rem 2rem;
}

/* Textabstände */
.skills-cards .frame-type-textpic p {
  margin: 0 0 1.25rem;
}

/* Link / Button */
.skills-cards .frame-type-textpic a {
  display: inline-block;
  color: #c00;
  font-weight: 600;
  text-decoration: none;
}

/* Mobile */
@media (max-width: 900px) {
  .skills-cards {
    flex-direction: column;
  }

  .skills-cards > .col {
    width: 100% !important;
  }
}







hr {
  border-top: 3px dashed #be9651;
  clear: both;
}


.apartment {
  clear: right;
}

footer {
  clear: both;
}




/* Abstand hinter einzelnen Inhaltselementen */
.frame{
        margin-bottom: 60px !important;
    }

/* Button */
.btn-primary {
  color: #fff;
  background-color: #e4231c;
  border: none;
}

.btn-primary:hover {
  background-color: #830500;
}



/* -------- Sticky Buttons rechts ------------------------*/
    .page-peel-container {
        position: fixed;
        right: 0;
        top: 30%; /* Position von oben, anpassbar */
        z-index: 1000; /* sicherstellen, dass es immer sichtbar ist */
        display: flex;
        flex-direction: column;
        gap: 7px; /* Abstand zwischen den Bildern */
    }

    .page-peel-container img {
        width: 50px; /* Größe der Bilder (anpassen) */
        height: auto;
        cursor: pointer;
        transition: transform 0.3s ease;
    }

    .page-peel-container img:hover {
        transform: scale(1.1); /* Animation beim Hover */
    }

    /* Responsivität */
    @media (max-width: 768px) {
        .page-peel-container img {
            width: 40px; /* kleinere Bilder auf Mobilgeräten */
        }
    }



/* Seitentitel */
.seitentitel {
            display: flex;
            justify-content: left;
            padding: 10px 0 0;
            gap: 10px; /* Abstand zwischen den Links */
             font-family: "Dosis", sans-serif !important;
   color: #555452;
   font-size: 2rem !important;
   font-weight: 200;
   text-align: left;
        }

@media (max-width: 767px) {
  .seitentitel {
    font-size: 1.5rem; /* Kleinere Schriftgröße für mobile Geräte */
    color: #555; /* Eine etwas hellere Textfarbe für mobile Ansicht */
  }
}
        .seitentitel a {
            color: #333;
            text-decoration: none;
        }

/* Vollständige Breite für das mobile Menü */
@media (max-width: 991px) {
    .navbar-collapse {
        width: 100%; /* Stellt sicher, dass das Menü die volle Breite einnimmt */
    }
    .navbar-nav {
        width: 100%; /* Menülistenelemente auf 100% Breite setzen */
        text-align: center; /* Zentriert die Menüeinträge */
    }
    .navbar-nav .nav-item {
        display: block; /* Menüpunkte als Block-Elemente anzeigen */
        width: 100%; /* Menüpunkte auf volle Breite setzen */
    }
    .navbar-toggler {
        z-index: 1; /* Toggler Button muss über dem Menü liegen */
    }
}


/* Schriftgrößen-Anpassung in der mobilen Ansicht */
@media (max-width: 991px) {
    /* Hauptmenüpunkte */
    .navbar-nav .nav-item .nav-link {
        font-size: 16px; /* Standardgröße für die Hauptmenüpunkte */
    }
    
    /* Unterpunkte im Dropdown */
    .navbar-nav .dropdown-menu .dropdown-item {
        font-size: 14px; /* Kleinere Schriftgröße für Unterpunkte */
    }
}




/* Gallerie bis 992px auf volle Breite */
@media (max-width: 992px) {
    .ce-gallery {
        width: 100%;
    }
}
 
/* Anpassungen von kleinen bis groeßeren Geraeten */
@media (min-width: 640px) and (max-width: 1200px) {
    .ce-gallery .ce-column {
        margin: 0;
        /* Abstand zwischen Bildern */
        padding: 0 5px;
        box-sizing: border-box;
    }
 
 
    /* Kein Abstand beim ersten und letzten Bild */
    .ce-gallery .ce-column:first-child {
        padding-left: 0;
    }
    .ce-gallery .ce-column:last-child {
        margin-right: 0;
    }
 
    /* Fluid Image Tags */
    .ce-gallery img,
    .ce-gallery picture {
        width: 100%;
        height: auto;
    }
 
    /* Spaltenbreiten je nach eingestellten Columns */
    .ce-gallery[data-ce-columns="2"] .ce-column {
        width: 50%;
    }
 
    .ce-gallery[data-ce-columns="3"] .ce-column {
        width: 33%;
    }
 
    .ce-gallery[data-ce-columns="4"] .ce-column {
        width: 25%;
    }
 
    .ce-gallery[data-ce-columns="5"] .ce-column {
        width: 20%;
    }
}
 
/* Anpassungen fuer kleine Geraete */
@media (max-width: 640px) {
 
    /* Ein Bild pro Zeile */
    .ce-gallery .ce-column {
        margin: 0 0 10px;
        width: 100%;
        box-sizing: border-box;
    }
 
    /* Fluid Image Tags */
    .ce-gallery img,
    .ce-gallery picture {
        width: 100%;
        height: auto;
    }
}












@media (min-width: 992px) { /* Ab Desktop-Breakpoint */
    .navbar-collapse {
        display: flex !important; /* Sichtbar */
        justify-content: flex-end; /* Menüpunkte rechts ausrichten */
        align-items: center;
        background: none; /* Keine Hintergrundfarbe */
        z-index: 1000; /* Sicherstellen, dass es sichtbar ist */
    }

    .navbar-toggler {
        display: none; /* Hamburger-Icon ausblenden */
    }
}





/* Mobile Menü */
@media (max-width: 991.98px) { /* Bootstrap's Breakpoint für lg */
    .navbar-collapse {
        display: none !important; /* Versteckt das Desktop-Menü */
    }

    .navbar-toggler.custom-toggler {
        display: block; /* Zeigt den Hamburger-Button nur auf mobilen Geräten */
    }

    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.95);
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        z-index: 1050;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .mobile-menu-overlay.active {
        transform: translateX(0);
    }

    .mobile-menu-header {
        display: flex;
        justify-content: flex-end;
        padding: 10px;
    }

    .close-menu {
        font-size: 28px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }

    .mobile-menu-overlay ul {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: center;
      font-size: 1.3rem;
    }

    .mobile-menu-overlay ul li {
        margin: 10px 0;
      font-size: 1.3rem;
    }

    .mobile-menu-overlay ul li a {
        color: #000;
        text-decoration: none;
        transition: color 0.3s ease;
      font-size: 1.3rem;
    }

    .mobile-menu-overlay ul li a:hover {
        color: #e4251f;
      font-size: 1.3rem;
    }

    /* Untermenüs im mobilen Overlay: statisch im Fluss statt Popper-positioniert,
       damit sie unter dem transform: translateX() des Overlays sichtbar bleiben */
    .mobile-menu-overlay .dropdown-menu {
        display: none;
        position: static;
        transform: none !important;
        inset: auto !important;
        width: 100%;
        margin: 0;
        padding: 0;
        border: none;
        background: transparent;
        box-shadow: none;
        text-align: center;
    }

    .mobile-menu-overlay .mobile-submenu-open > .dropdown-menu {
        display: block;
    }

    .mobile-menu-overlay .dropdown-menu .dropdown-item {
        padding: 6px 0;
        font-size: 1.1rem;
    }
}

/* Desktop Menü */
@media (min-width: 992px) { /* Ab Desktop-Breakpoint */
    .navbar-collapse {
        display: flex !important; /* Stellt sicher, dass das Desktop-Menü sichtbar ist */
        justify-content: flex-end;
    }

    .navbar-toggler.custom-toggler {
        display: none; /* Versteckt den Hamburger-Button auf Desktops */
    }

    .mobile-menu-overlay {
        display: none; /* Verhindert, dass das Overlay im Desktop-Modus sichtbar ist */
    }
}

