.ratio {
    position: relative
}

.ratio:before {
    content: "";
    display: block;
    padding-top: var(--bs-aspect-ratio)
}

.ratio > * {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.ratio-1-1 {
    --bs-aspect-ratio: 100%
}

.ratio-290-387 {
    --bs-aspect-ratio: 290/387%
}

.ratio-3-4 {
    --bs-aspect-ratio: 75%
}

.ratio-2-1 {
    --bs-aspect-ratio: 50%
}

.ratio-3-2 {
    --bs-aspect-ratio: 66.666667%
}

.ratio-28-13 {
    --bs-aspect-ratio: 28/13%
}

.ratio-121-56 {
    --bs-aspect-ratio: 121/56%
}

.index-image a .ze-blog-latest-post__thumb {
    overflow: hidden;
    display: block;
}

.ze-blog-latest-posts .h3 {
    cursor: pointer;
    padding: 10px 0;
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;
    color: #000;
    position: relative;
    text-align: center;
}

.ze-blog-latest-posts .ze-blog-latest-posts__list {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 12px
}

.ze-blog-latest-posts .ze-blog-latest-post {
    margin: 0
}

.ze-blog-latest-posts .ze-blog-latest-post__link {
    display: block;
    text-decoration: none
}

.ze-blog-latest-posts .ze-blog-latest-post__thumb {
    overflow: hidden;
    border-radius: 6px;
    background: var(--theme-color-grey-bg)
}

.ze-blog-latest-posts .ze-blog-latest-post__thumb img {
    width: 100%;
    height: auto;
    display: block
}

.ze-blog-latest-posts .ze-blog-latest-post__thumb img,
.ze-blog-thumb img {
    object-fit: cover;
    transition: transform .25s ease;
    transform: scale(1)
}

a:hover .ze-blog-latest-post__thumb img,
a:hover .ze-blog-thumb img {
    transform: scale(1.05)
}

.ze-blog-thumb {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
    background: var(--theme-color-grey-bg)
}

.ze-blog-latest-posts .ze-blog-latest-post__content {
    min-width: 0;
    display: block;
    margin-top: 8px
}

.ze-blog-latest-posts .ze-blog-latest-post__title {
    display: block;
    font-weight: 600;
    line-height: 1.25
}

.ze-blog-latest-posts .ze-blog-latest-post__excerpt {
    display: block;
    margin-top: 4px;
    color: var(--theme-color-grey);
    font-size: .875rem;
    line-height: 1.35
}

.ze-blog-latest-posts .ze-blog-latest-post__excerpt p {
    margin: 0
}

@media (min-width: 576px) {
    .ze-blog-latest-posts .ze-blog-latest-posts__list {
        grid-template-columns:repeat(3, minmax(0, 1fr))
    }
}

@media (min-width: 768px) {
    .ze-blog-latest-posts .ze-blog-latest-posts__list {
        grid-template-columns:repeat(4, minmax(0, 1fr))
    }
}

.ze-blog-list .ze-blog-landing-card,
.ze-store-blog-list .ze-blog-landing-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(210px, 40%) 1fr;
    align-items: center;
    min-height: clamp(320px, 30vw, 420px);
}

.ze-blog-list .ze-blog-landing-card__media,
.ze-store-blog-list .ze-blog-landing-card__media {
    display: block;
    min-height: 350px;
    height: 350px;
    overflow: hidden;
    border-radius: 10px;
}

.ze-blog-list .ze-blog-thumb,
.ze-store-blog-list .ze-blog-thumb {
    display: block;
    width: 100%;
    height: 100%;
}

.ze-blog-list .ze-blog-thumb img,
.ze-store-blog-list .ze-blog-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ze-blog-list .ze-blog-landing-card__content,
.ze-store-blog-list .ze-blog-landing-card__content {
    margin-left: -44px;
    z-index: 2;
}

.ze-blog-list .ze-blog-landing-card__headline,
.ze-store-blog-list .ze-blog-landing-card__headline {
    background: #eee7dc;
    padding: 18px 30px;
}

.ze-blog-list .ze-blog-landing-card__title,
.ze-store-blog-list .ze-blog-landing-card__title {
    margin: 0;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 400;
    color: var(--theme-color);
}

.ze-blog-list .ze-blog-landing-card__title a,
.ze-store-blog-list .ze-blog-landing-card__title a {
    color: inherit;
    text-decoration: none;
}

.ze-blog-list .ze-blog-landing-card__body,
.ze-store-blog-list .ze-blog-landing-card__body {
    padding: 18px 30px 0;
}

.ze-blog-list .ze-blog-landing-card__description,
.ze-store-blog-list .ze-blog-landing-card__description {
    margin-top: 0;
    color: #5f5852;
    font-size: 16px;
    line-height: 1.25;
    margin-left: 40px;
}

.ze-blog-list .ze-blog-landing-card__cta,
.ze-store-blog-list .ze-blog-landing-card__cta {
    display: inline-flex;
    margin-top: 22px;
    padding: 11px 20px;
    background: var(--theme-color);
    color: var(--theme-color-white);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .02em;
    text-transform: uppercase;
    text-decoration: none;
}

.ze-blog-list .ze-blog-landing-card__cta:hover,
.ze-blog-list .ze-blog-landing-card__cta:focus,
.ze-store-blog-list .ze-blog-landing-card__cta:hover,
.ze-store-blog-list .ze-blog-landing-card__cta:focus {
    color: var(--theme-color-white);
    background: var(--theme-text-color);
    text-decoration: none;
}

.ze-blog-list h1 {
    text-align: left;
    font-size: 40px;
    margin-bottom: 10px !important;
    display: block;
    margin-left: 100px;
    margin-top: 10px;
    font-style: italic;
    font-weight: 300;
    letter-spacing: 1px;
    font-family: "Playfair Display", sans-serif;
}

@media (max-width: 1199px) {

    .ze-blog-list .ze-blog-landing-card__cta,
    .ze-store-blog-list .ze-blog-landing-card__cta {
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .ze-blog-list .ze-blog-landing-card,
    .ze-store-blog-list .ze-blog-landing-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ze-blog-list .ze-blog-landing-card__media,
    .ze-store-blog-list .ze-blog-landing-card__media {
        height: 350px;
        min-height: 350px;
    }

    .ze-blog-list .ze-blog-landing-card__content,
    .ze-store-blog-list .ze-blog-landing-card__content {
        margin-left: 0;
    }

    .ze-blog-list .ze-blog-landing-card__headline,
    .ze-store-blog-list .ze-blog-landing-card__headline,
    .ze-blog-list .ze-blog-landing-card__body,
    .ze-store-blog-list .ze-blog-landing-card__body {
        padding-left: 0;
        padding-right: 0;
    }


    .ze-blog-list .ze-blog-landing-card__cta,
    .ze-store-blog-list .ze-blog-landing-card__cta {
        font-size: 12px;
    }
}

