.ngparasfxpan {
    width: 100%;
    height: calc( var(--ngparasfxpan-length,3) * 100vh);
}

.ngparasfxpan>div {
    width: 100%;
    height: calc(100vh);
    position: sticky;
    top: 0;
}

.ngparasfxpan>div>div {
    width: 100%;
    top: var(--ngparasfxpan-offset,0);
    left: 0;
    height: calc(100vh - 2 * var(--ngparasfxpan-offset,0vh));
    box-shadow: var(--ngparasfxpan-box-shadow,none);
    position: relative;
    border-radius: var(--ngparasfxpan-roundedcorners,0);
}


.ngparasfxpan figure {
    overflow: hidden;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: var(--ngparasfxpan-roundedcorners,0);
}

.ngparasfxpan img {
    height: calc(100vh - 2 * var(--ngparasfxpan-offset,0vh));
    width: auto;
    min-width: 100%;
    object-fit: cover;
    display: block;
    top: 0;
    position: absolute;
}

.ngparasfxpan figcaption {
    position: absolute;
    max-width: 50%;
    box-sizing: border-box;
    margin: 0;
}

.ngparasfxpan figcaption.ngparasfxpan-caption-opaque-white {
    background-color: #ffffff;
    padding: calc(var(--ngparasfxpan-caption-size) / 2) var(--ngparasfxpan-caption-size);
    border-radius: calc(var(--ngparasfxpan-roundedcorners,0) / 2);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-opaque-black {
    background-color: #000000;
    padding: calc(var(--ngparasfxpan-caption-size) / 2) var(--ngparasfxpan-caption-size);
    border-radius: calc(var(--ngparasfxpan-roundedcorners,0) / 2);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-translucent-black {
    background-color: rgba(0,0,0,0.3);
    padding: calc(var(--ngparasfxpan-caption-size) / 2) var(--ngparasfxpan-caption-size);
    border-radius: calc(var(--ngparasfxpan-roundedcorners,0) / 2);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-translucent-white {
    background-color: rgba(255,255,255,0.5);
    padding: calc(var(--ngparasfxpan-caption-size) / 2) var(--ngparasfxpan-caption-size);
    border-radius: calc(var(--ngparasfxpan-roundedcorners,0) / 2);
}


.ngparasfxpan figcaption.ngparasfxpan-caption-topleft {
    top: var(--ngparasfxpan-caption-padding);
    left: var(--ngparasfxpan-caption-padding);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-topright {
    top: var(--ngparasfxpan-caption-padding);
    right: var(--ngparasfxpan-caption-padding);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-bottomleft {
    bottom: var(--ngparasfxpan-caption-padding);
    left: var(--ngparasfxpan-caption-padding);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-bottomright {
    bottom: var(--ngparasfxpan-caption-padding);
    right: var(--ngparasfxpan-caption-padding);
}

.ngparasfxpan figcaption,
.ngparasfxpan figcaption a {
    color: var(--ngparasfxpan-caption-color);
    font-size: var(--ngparasfxpan-caption-size);
    text-decoration: none;
    font-weight: var(--ngparasfxpan-caption-weight,normal);
    text-transform: var(--ngparasfxpan-caption-texttransform,none);
    font-style: normal;
    vertical-align: middle;
}

.ngparasfxpan figcaption a {
    display: inline-block;
    transition: 0.3s transform ease;
}

.ngparasfxpan figcaption.ngparasfxpan-caption-topleft a:hover,
.ngparasfxpan figcaption.ngparasfxpan-caption-bottomleft a:hover {
    transform: translateX(0.2em);
}

.ngparasfxpan figcaption.ngparasfxpan-caption-topright a:hover,
.ngparasfxpan figcaption.ngparasfxpan-caption-bottomright a:hover {
    transform: translateX(-0.2em);
}


.ngparasfxpan figcaption svg {
    width: 0.8em;
    height: 0.8em;
    margin-left: 0.2em;
    display: inline-block;
}

.ngparasfxpan-fadecaption figcaption {
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s;
}

.ngparasfxpan-fadecaption-visible figcaption {
    opacity: 1;
    pointer-events: unset;
}


@media (max-width: 1023px) {
    .ngparasfxpan figcaption,
    .ngparasfxpan figcaption a {
        font-size: var(--ngparasfxpan-mobile-caption-size);
    }
}