  /*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/



.site-header {
	border-top: 2px solid #2C3D4A;
}



/* Titelanpassungen */

/* Desktop */
@media (min-width: 768px) {
	.site-branding-container .site-logo {
		margin-right: 3em;
		margin-left: 10px;
	}
	
	.main-title {
		font-size: 28px !important;
	}
	.site-description {
		line-height: 1.5em !important;
		/* margin-left: 20px; */
		/* Zentriert
		display: flex;
		justify-content: center; 
		align-items: center; 
		*/
	}
}

/* Mobile */
@media (max-width: 767px) {
	.inside-header {
		padding: 10px 10px 10px 10px !important;
	}
	
	.site-branding-container .site-logo {
		margin-right: 0;
		margin-left: 0;
	}
	.separate-containers .site-main {
		margin: 10px;
	}
	.main-title {
		font-size: 16px;
		line-height: 1.4em;

	}
	.site-description {
		font-size: 12px;
		letter-spacing: 0em;
		line-height: 2em;
	}
}



.main-title a,
.site-description {
    color: #0094CA !important; 
	text-shadow: 
	   1px 1px 2px rgba(0,0,0,0.2);
}


/* Header kompakter */
.inside-header {
	padding: 10px 10px 10px 40px;
}

@media (max-width: 768px) {
    .site-content {
        padding-top: 0;
    }
    
    /* Falls du auch den Abstand vom Header selbst reduzieren willst */
    .site-header {
        margin-bottom: 0;
    }
	.menu-toggle {
		line-height: 0;
	}
}


/* Menüleiste */

.main-navigation {
	border-top: 2px solid #2C3D4A;
	border-bottom: 2px solid #2C3D4A;
}


.main-navigation .menu-bar-item > a {
  line-height: 40px;
}

.main-navigation .main-nav ul li a {
	line-height: 40px;
}


.mobile-bar-items {
    justify-content: flex-end !important;
}

.search-modal-toggle {
    order: 1;
}

.mobile-bar-items {
    display: flex;
    justify-content: space-between !important;
	line-height: 40px;
}

.menu-toggle {
    order: 2;
    margin-left: auto !important;
}

.search-modal-toggle {
    order: 1;
    margin-right: auto !important;
}

.menu-item {
	padding: 0px;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('https://be-dev.dev-null.de/wp-content/uploads/2025/11/be_hp_bkg_s-scaled.jpg');
    background-size: cover;
    background-position: center;
    z-index: -1;
    opacity: 0.2; /* Transparenz des Hintergrunds */
}

/* Dunkles Overlay darüber */
body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1); /* Schwarz mit 50% Transparenz */
    z-index: -1;
}


/* Desktop - stärkere Transparenz */
@media (min-width: 768px) {
    .inside-article {
        background-color: rgba(255, 255, 255, 0.7) !important;
    }
}

/* Mobile - weniger Transparenz für bessere Lesbarkeit */
@media (max-width: 767px) {
    .inside-article {
        background-color: rgba(255, 255, 255, 0.8) !important;
		padding: 20px 10px 20px 10px !important;
    }
}



/* 
#
#  Events Manager Stuff 
#
*/

/*
.em.pixelbones * {
  box-sizing: content-box !important;
}
*/
.event-mainpage {
	color: #00f;
	font-size: 12px;
	font-family: montserrat, sans-serif;
}

.event-mainpage  .simple-event-head {
	display: inline-block; 
    margin: 0;
    color: #fff;
	font-size: 14px;
	padding: 2px 7px 2px 7px;
	background-color: #0094CA;
	border-radius: 2px;
	margin-bottom: 7px; 
}

.event-mainpage  .simple-event {

	background-color: #fff;
    margin-bottom: 15px;
    padding: 15px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.event-mainpage  .simple-event:hover {
   transform: translateY(-4px);
   box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}

@media (max-width: 767px) {
	.event-mainpage  .simple-event {
		margin-bottom: 20px;
	}
}

@media (min-width: 768px) {
	.event-mainpage  .simple-event {
		margin-bottom: 25px;
	}
}

/* p nicht anzeigen */
.em-events-list > p {
    display: none !important;
}


.simple-event #eventdate {
	display: inline-block; 
    margin: 0;
    color: #666;
	/* background-color: #0094CA;*/
}


/* link ohne Unterstreichung */
.simple-event a {
	color: #0094CA !important;
    text-decoration: none;
    font-size: 18px;
}


.em.pixelbones a {
	color: #0094CA !important;
	font-family: montserrat, sans-serif;
}

/* link bei hover */
.simple-event a:hover {
	color: #0094CA;
    text-decoration: underline;
}

.em-cal-event {
  font-size: 12px !important;
}

.em-cal-event > div {
	padding: 2px !important;
	border-radius: 3px !important;
	background-color: #0094CA !important;
}
/* Desktop - Grid bleibt */
@media (min-width: 768px) {
    .em-events-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 20px;
    }
}

/* Mobile - Wischbar */
@media (max-width: 767px) {
    .em.pixelbones.em-list.em-events-list {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        gap: 15px;
        padding: 10px;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }
    
    .em-events-list .simple-event {
        flex: 0 0 85% !important;
        max-width: 85%;
        scroll-snap-align: start;
    }
}



/* 
#
# Keypoint Carousel 
#
*/

/*
.swiper {
    overflow: hidden;  /* Versteckt alles außerhalb des sichtbaren Bereichs */
}
*

/* Keypoints Carousel Container */
.keypoints-carousel-wrapper {
    padding: 5px 0;
	background-color: rgba(255, 255, 255, 0);
}

.keypoints-carousel {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0px;
	overflow: hidden;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.swiper-slide {
    height: 450px;  /* Oder deine gewünschte Höhe */

}


/* Keypoint Card Styling */
.keypoint-card {
    display: block;
    background: white;
    border-radius: 0px;
    text-align: center;
    text-decoration: none;
    color: #333;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
	width: 100%;
    height: 100%;
    background-size: cover;      /* Bild füllt den Bereich */
    background-position: center; /* Zentriert beim Zuschneiden */
    background-repeat: no-repeat;
    position: relative;

}

/*
.keypoint-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}
*/

.keypoint-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: #007bff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.keypoint-icon img {
    width: 40px;
    height: 40px;
    filter: brightness(0) invert(1);
}

.keypoint-overlay {
    position: absolute;
    bottom: 45px;                    /* Nach unten */
    left: 80px;
	background-color: rgba(0, 148, 202, 0.85);
    padding: 20px;
	border-radius: 3px;

}


.keypoint-overlay:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.15);
	transition: all 0.3s ease;  /* Weicher Übergang */
}


.keypoint-overlay h3 {
    margin: 0 0 8px 0;
    color: white;
}

.keypoint-overlay p {
    margin: 0;
    color: white;
}


.keypoint-card h3 {
    font-size: 24px;
    margin: 0 0 15px;
/*    color: #333; */
}

.keypoint-card p {
    font-size: 16px;
    line-height: 1.6;
/*    color: #666; */
    margin: 0;
}

/*
#
# Swiper Navigation Buttons 
#
*/
.keypoints-carousel .swiper-button-prev,
.keypoints-carousel .swiper-button-next {
    color: #007bff;
    background: rgba(0,0,0,0);
    width: 40px;
    height: 40px;
    border-radius: 0%;
/*    box-shadow: 0 2px 8px rgba(0,0,0,0.15); */
}

.keypoints-carousel .swiper-button-prev:after,
.keypoints-carousel .swiper-button-next:after {
    font-size: 20px;
}

/* Pagination Dots */
.keypoints-carousel .swiper-pagination-bullet {
	width: 30px !important;      /* Länge des Strichs */
    height: 3px !important;      /* Höhe des Strichs */
    border-radius: 2px !important;  /* Leicht abgerundete Ecken */
    background: #eee;
    opacity: 0.9;
}

/* Aktiven Strich */
.keypoints-carousel .swiper-pagination-bullet-active {
	background: #666;          
    opacity: 1;
}

.keypoint-card h3 {
        margin: 0 0 0.2em;
}

/* Mobile Anpassungen */
@media (max-width: 767px) {
    .keypoints-carousel-wrapper {
        padding: 5px 0;
    }
    
	.swiper-slide {
		height: 275px;  /* Oder deine gewünschte Höhe */
        width: 100%;
        flex-shrink: 0;  /* Verhindert Schrumpfen */
	}

    .keypoint-card {
        padding: 15px 10px;
    }
    
    .keypoint-icon {
        width: 60px;
        height: 60px;
    }
    
    .keypoint-card h3 {
        font-size: 14px;
    }
	
    .keypoint-card p {
		font-size: 10px;
    }
	
	.keypoint-overlay {
		position: absolute;
		padding: 15px;
		bottom: 60px;                
		left: 10px;
	}
}




/*
# recent posts-listing
/*

/* Recent Posts Section */
.recent-posts-section {
    padding: 60px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.section-title {
    font-size: 36px;
    text-align: center;
    margin: 0 0 40px;
    color: #333;
}

/* Grid Layout */
.recent-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    padding: 0 0px;
}

/* Post Card */
.post-card {
    background: white;
    border-radius: 1px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.15);
}

.post-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Thumbnail */
.post-thumbnail {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f0f0f0;
}

.post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.post-card:hover .post-thumbnail img {
    transform: scale(1.05);
}

.post-thumbnail-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
}

/* Post Content */
.post-content {
    padding: 25px;
}

.post-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 13px;
    color: #666;
}

.post-date {
    display: flex;
    align-items: center;
}

.post-category {
/*    background: #007bff; */
	background: rgba(0, 148, 202, 0.85);
    color: white;
    padding: 3px 10px;
    border-radius: 2px;
    font-weight: 500;
}

.post-title {
    font-size: 22px;
    margin: 0 0 15px;
    color: #333;
    line-height: 1.4;
}

.post-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin-bottom: 15px;
}

.read-more {
    color: #007bff;
    font-weight: 600;
    font-size: 14px;
}

.post-card:hover .read-more {
    text-decoration: underline;
}

/* p nicht anzeigen */
.recent-posts-section > h2 {
    display: none !important;
}


/* Mobile Anpassungen */
@media (max-width: 767px) {
    .recent-posts-section {
        padding: 0 0;
    }
    
    .section-title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    
    .recent-posts-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .post-thumbnail {
        height: 180px;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .recent-posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
