.latest-posts-wrapper {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.latest-post-item{
    position:relative;
    overflow:hidden;
}

.latest-post-media{
    position:relative;
    overflow:hidden;
}

.latest-post-media img,
.latest-post-media video,
.latest-post-media iframe{
    width:100%;
    height:350px;
    object-fit:cover;
    display:block;
}

.hover-media-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.55);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:0.3s ease;
}

.hover-media-item:hover .hover-media-overlay{
    opacity:1;
}

.latest-media-content{
    text-align:center;
    color:#fff;
    padding:20px;
}

.latest-post-title, .latest-post-title a{
    margin:0 0 10px;
    color:#036400;
	line-height: 22px !important;
    font-weight: 600;
    font-size: 16px;
}

.latest-post-date{
    font-size:14px;
	 color:#036400;
}

.latest-post-media img,
.latest-post-media video,
.latest-post-media iframe{
    transition:0.4s ease;
	aspect-ratio: 1 / 1 !important;
}

.latest-post-media:hover img,
.latest-post-media:hover video,
.latest-post-media:hover iframe{
    transform:scale(1.05);
}

.cga-carousel-wrapper{
    position:relative;
    overflow:hidden;
    width:100%;
}

.cga-carousel{
    position:relative;
}

.carousel-slide{
    display:none;
    position:relative;
}

.carousel-slide.active{
    display:block;
}

.carousel-media img,
.carousel-media video,
.carousel-media iframe{
    width:100%;
    height:500px;
    object-fit:cover;
    display:block;
}

.carousel-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.45);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:0.3s ease;
}

.carousel-slide:hover .carousel-overlay{
    opacity:1;
}

.carousel-content{
    text-align:center;
    color:#fff;
}

.carousel-content h3{
    font-size:32px;
    margin-bottom:10px;
    color:#fff;
}

.carousel-content span{
    font-size:15px;
}

.carousel-prev,
.carousel-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(0,0,0,0.5);
    color:#fff;
    border:none;
    width:45px;
    height:45px;
    cursor:pointer;
    z-index:10;
    font-size:28px;
}

.carousel-prev{
    left:15px;
}

.carousel-next{
    right:15px;
}

.carousel-dots{
    position:absolute;
    bottom:20px;
    width:100%;
    text-align:center;
}

.carousel-dot{
    width:12px;
    height:12px;
    background:#fff;
    opacity:0.5;
    display:inline-block;
    border-radius:50%;
    margin:0 5px;
    cursor:pointer;
}

.carousel-dot.active{
    opacity:1;
}