.ele-item > a:hover {
    text-decoration: none;
}

.ele-item-content {
    position: relative;
    /*background-color: var(--color-website-bg);*/
    margin: -22px 24px 0;
    padding: 16px 24px;
    box-shadow: 0 0 10px 3px #0000002e;
    border-radius: 4px;

    height: 205px;

    background: var(--card-bg-dark);
    background: var(--card-bg-light);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    /*box-shadow: var(--shine-border);*/
    overflow: hidden;
}

.ele-item-content {
    z-index: 5;
    overflow: hidden;

    transition: all 0.5s ease;
    cursor: pointer;
}

.ele-item-content-overlay {
    /*content: "";*/
    position: absolute;
    inset: 0;
    box-shadow: var(--shine-border);
    background: #fffdf687;
    z-index: -1;
}

.ele-item-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1.35;
    overflow: hidden;
    box-shadow: 0 0 10px 3px #0000002e;
    border-radius: 4px;
}

.ele-item-image img {
    object-fit: cover;
    /*transition: transform 0.7s ease;*/
    /*transform: scale(1.001);*/
}

.ele-item > a:hover img {
    /*transform: scale(1.05);*/
}

.ele-item > a:hover .img-overlay {
    background-color: rgba(0, 0, 0, 0.3);
}

.ele-item-name {
    font: 700 22px/1.3 var(--Lexend);
    margin-bottom: 6px;
    /*color: var(--green-dark-1);*/

    color: var(--gray-dark-3);
}

p.ele-item-desc {
    font: 300 18px / 1.5 var(--Lexend);
    color: var(--text-main);

    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;

    margin-bottom: auto;
}

.ele-item-cta {
    position: relative;
    font: 600 18px / 1.5 var(--Lexend);
    color: var(--green-dark-2);
    align-items: center;
    gap: 8px;
    width: max-content;
    margin-top: 4px;
}

.ele-item-cta svg {
    height: 16px;
    width: auto;
    margin-top: 2px;
}

.ele-item-cta::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 2px;
    width: 0;
    background: var(--green-dark-2);
    transform-origin: left;
    transition: all 0.5s cubic-bezier(0.4,0,0.2,1);
}

.ele-item > a:hover .ele-item-cta::after {
    width: calc(100%);
}

@media (min-width: 991px) {
    .ele-item-image,
    .ele-item-content {
        /*box-shadow: 0 0 14px 3px #0000002e;*/
    }
}
