.ui-image {
    display: inline-block;
}

.ui-image--wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.ui-image--img {
    width: 100%;
    display: block;
}

/* Inline Layout Mode */
.ui-image-inline .ui-image--img {
    height: auto;
}

/* If aspect-ratio is defined inline, let the image cover the container */
.ui-image-inline .ui-image--wrapper[style*="aspect-ratio"] .ui-image--img {
    height: 100%;
    object-fit: cover;
}

/* Cover Layout Mode */
.ui-image-cover {
    width: 100%;
    height: 100%;
}

.ui-image-cover .ui-image--wrapper {
    height: 100%;
}

.ui-image-cover .ui-image--img {
    height: 100%;
    object-fit: cover;
}

.ui-image .lazy-blur {
    filter: blur(20px);
    transform: scale(1.05);
    /* Prevents transparent/white borders from blur */
    transition: filter 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ui-image .lazy-blur.loaded {
    filter: blur(0);
    transform: scale(1);
}