/****************************
 * Image Grid
****************************/
.vii-image-grid__item-image {aspect-ratio:426/324;}

/* heading */
.vii-image-grid__content {max-width:890px;}

/* Custom column */
.vii-image-grid__inner.flex-grid-template {
    --grid-gap-x:16px;
    --grid-gap-y:var(--grid-gap-x);
}
@media only screen and (min-width:641px) {
    .vii-image-grid__item.half {--grid-col:2;}
}

/* Gallery */
.vii-image-grid__item a:before {background:#000; transition:var(--vii-transition); opacity:0; z-index:2;}
.vii-image-grid__item a:hover:before {opacity:.3;}
.vii-image-grid__item a img {transition:var(--vii-transition);}
.vii-image-grid__item a:hover img {transform:scale(1.03);}

/* image > full width */
.vii-image-grid__item.full {width:100%;}
.vii-image-grid__item.full .vii-image-grid__item-image {aspect-ratio:unset; height:clamp(300px, 30vw, 450px);}
.vii-image-grid__item.full .vii-image-grid__item-caption {
    padding-left:var(--vii-gap-container); padding-right:var(--vii-gap-container);
    text-align:center;
}

/* width text block */
.wpb_text_column > .wpb_wrapper > .vii-image-grid:not(:last-child) {margin-bottom:16px !important;}
.wpb_text_column > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item-image,
.wpb_text_column > .vii-image-grid.pattern-2 .vii-image-grid__item-image {aspect-ratio:345/423}

/* with post gallery */
.vii-image-grid.is-post-gallery {--vii-spacing-paragraph:var(--vii-spacing-32);}
.vii-image-grid.is-post-gallery:not(:first-child) {margin-top:var(--vii-spacing-paragraph) !important;}
.vii-image-grid.is-post-gallery:not(:last-child) {margin-bottom:var(--vii-spacing-paragraph) !important;}

/****************************
 * Image Grid > 2 images (without VC gallery)
****************************/
@media only screen and (min-width:641px) {
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 {--ig-gap:18px;}
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__inner {gap:0; margin:0 calc(-1 * var(--vii-gap-vc-column));}
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item {padding:0 calc(var(--ig-gap) / 2);}
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item-image {aspect-ratio:unset; height:clamp(200px, calc(26.875vw + 95px), 482px)}
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item:first-child {
        width:calc(100% * 7 / 12);
    }
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item:last-child {
        width:calc(100% * 5 / 12);
    }

    /* in vc row with background image top */
    .vc_row[class*="vii-bg-image-top-"] div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 .vii-image-grid__item-image {
        height:clamp(250px, calc(14.2vw + 200px), 405px);
    }
}
@media only screen and (max-width:1024px) and (min-width:641px) {
    div:not(.wpb_text_column) > .wpb_wrapper > .vii-image-grid.pattern-2 {--vii-spacing-x-20:15px; --ig-gap:15px;}
}


/****************************
 * Image Grid Responsive
****************************/
@media only screen and (max-width:768px) {
    /* pattern 3 */
    .vii-image-grid.pattern-3 .vii-image-grid__item:last-child {width:100%;}
    .vii-image-grid.pattern-3 .vii-image-grid__item:last-child .vii-image-grid__item-image {aspect-ratio:705/374}
}
@media only screen and (max-width:480px) {
    /* heading */
    .vii-image-grid__content {margin-bottom:28px;}

    /* grid */
    .vii-image-grid__inner.flex-grid-template {
        --grid-gap-x:10px;
        --grid-gap-y:10px;
        --grid-col:2;
    }

    /* image > full width */
    .vii-image-grid__item.full .vii-image-grid__item-image {height:56.25vw;}
}