* {
    /*TODO: del ?*/
    box-sizing: border-box;
}

.grid:after {
    content: '';
    display: block;
    clear: both;
}

.card-item {
    padding-bottom: 60px;
    transition: all 300ms ease-in-out 0ms;
    cursor: pointer;
}

.card-item:hover {
    opacity: 0.9;
    transition: all 300ms ease-in-out 0ms;
}

.card-item:hover .card-item-body,
.card-item:hover .card-item-description{
    box-shadow: 3px 3px 8px #afafaf;
    transition: all 300ms ease-in-out 0ms;
}


.card-item-img_size1 {
    aspect-ratio: 1 / 2;
}

.card-item-img_size2 {
    aspect-ratio: 1 / 1;
}

.card-item-img_size3 {
    aspect-ratio: 2 / 3;
}

@media (max-width: 767px) {
    .card-item-img_size1,
    .card-item-img_size2 {
        aspect-ratio: 1 / 1;
    }
    .card-item-img_size3 {
        aspect-ratio: 2 / 3;
    }
}

.card-item-body {
    height: calc(100% - 20px);
    position: relative;
    border-radius: 5px;
    transition: all 150ms ease-in-out 0ms;
    box-shadow: 2px 2px 6px #dedede;
}
.card-item-body a {
    text-decoration: none;
}

.card-item-img {
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 100%;
    border-radius: 5px 5px 0 0;
    background-color: #eeeeee;
    overflow: hidden;
}

.card-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-item-description {
    position: absolute;
    bottom: -60px;
    left: 0;
    width: 100%;
    font-size: 0.8em;
    background: white;
    padding: 15px 10px;
    border-radius: 0 0 5px 5px;
    transition: all 150ms ease-in-out 0ms;
    box-shadow: 2px 2px 6px #dedede;
}

.card-item-description-date {
    position: absolute;
    font-size: 0.9em;
    bottom: 100%;
    right: 0;
    padding: 2px 6px;
    background: white;
    color: #333;
    border-radius: 4px 0 0 0;
    opacity: 0.7;
}

a .card-item-description-title {
    color: #333;
}

.card-item-description-geo a {
    color : #546e7a;
}

.card-item-description-geo a:hover {
    color           : #009688;
    text-decoration : underline;
}