:root {
    --parvus-transition-duration: 300ms;
    --parvus-transition-timing-function: cubic-bezier(0.4,0,0.22,1);
    --parvus-overlay-color: #f9f4f1;
    --parvus-overlay-text: #2d3249;
    --parvus-button-color: #2d3249;
    --parvus-button-text: #fff;
    --parvus-button-hover-color: #404768;
    --parvus-button-hover-text: #fff;
    --parvus-loader-background-color: #f9f4f1;
    --parvus-loader-color: #2d3249;
}

.parvus-is-open {
    touch-action: none;
}

.parvus-zoom {
    display: flex;
    position: relative;
    width: 100%;
    justify-content: center;
}

.parvus-zoom__indicator {
    align-items: center;
    background-color: var(--parvus-button-color);
    color: var(--parvus-button-text);
    display: flex;
    inset-block-start: .5rem;
    inset-inline-end: .5rem;
    justify-content: center;
    line-height: 1;
    padding: .5rem;
    position: absolute;
}

.parvus-zoom__indicator svg {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
    stroke: currentColor;
    height: 1.5rem;
    pointer-events: none;
    width: 1.5rem;
}

.parvus-zoom img {
    display: block;
}

.parvus {
    align-items: center;
    contain: strict;
    display: flex;
    font: normal normal 400 1.125rem/1.7 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;
    inset: 0;
    justify-content: center;
    line-height: 1.667;
    overflow: hidden;
    overscroll-behavior: contain;
    position: fixed;
    z-index: 1337;
}

.parvus,
.parvus *,
.parvus :after,
.parvus :before {
    box-sizing: border-box;
}

.parvus[aria-hidden=true] {
    display: none;
}

.parvus__overlay {
    background-color: var(--parvus-overlay-color);
}

.parvus__overlay,
.parvus__slider {
    inset: 0;
    position: absolute;
}

.parvus__slider[aria-hidden=true] {
    display: none;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus__slider--animate:not(.parvus__slider--is-dragging) {
        transition: transform var(--parvus-transition-duration) var(--parvus-transition-timing-function);
    }
}

.parvus__slider--is-draggable {
    cursor: grab;
}

.parvus__slider--is-dragging {
    cursor: grabbing;
}

.parvus__slide {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    padding-block-end: 1rem;
    padding-block-start: 3.75rem;
    padding-inline-end: 1rem;
    padding-inline-start: 1rem;
    width: 100%;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus__slide {
        transition: visibility var(--parvus-transition-duration) var(--parvus-transition-timing-function);
    }
}

.parvus__slide:not(.parvus__slide--is-active) {
    visibility: hidden;
}

.parvus__slide .parvus__caption {
    color: var(--parvus-overlay-text);
    padding-block-start: .5rem;
    text-align: start;
    will-change: transform,opacity;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus__slide .parvus__caption {
        transition: transform var(--parvus-transition-duration) var(--parvus-transition-timing-function),opacity var(--parvus-transition-duration) var(--parvus-transition-timing-function);
    }
}

.parvus__slide img {
    display: block;
    height: auto;
    margin-inline-end: auto;
    margin-inline-start: auto;
    transform-origin: left top;
    width: auto;
}

.parvus__loader {
    display: inline-block;
    height: 6.25rem;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    position: absolute;
    transform: translate(-50%,-50%);
    width: 6.25rem;
}

.parvus__loader:before {
    animation: spin 1s infinite;
    border: .25rem solid var(--parvus-loader-background-color);
    border-radius: 100%;
    border-top-color: var(--parvus-loader-color);
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
}

.parvus__toolbar {
    align-items: center;
    display: flex;
    inset-block-start: 1rem;
    inset-inline-end: 1rem;
    inset-inline-start: 1rem;
    justify-content: space-between;
    position: absolute;
}

.parvus__btn {
    appearance: none;
    background-color: var(--parvus-button-color);
    background-image: none;
    border: .0625rem solid transparent;
    border-radius: 0;
    color: var(--parvus-button-text);
    cursor: pointer;
    display: flex;
    font: inherit;
    padding: .3125rem;
    position: relative;
    touch-action: manipulation;
    will-change: transform,opacity;
    z-index: 7;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus__btn {
        transition: transform var(--parvus-transition-duration) var(--parvus-transition-timing-function),opacity var(--parvus-transition-duration) var(--parvus-transition-timing-function);
    }
}

.parvus__btn:hover {
    background-color: var(--parvus-button-hover-color);
    color: var(--parvus-button-hover-text);
}

.parvus__btn--previous {
    inset-inline-start: 1rem;
}

.parvus__btn--next,
.parvus__btn--previous {
    inset-block-start: calc(50% + 1.375rem);
    position: absolute;
    transform: translateY(-50%);
}

.parvus__btn--next {
    inset-inline-end: 1rem;
}

.parvus__btn svg {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1;
    stroke: currentColor;
    height: 2rem;
    pointer-events: none;
    width: 2rem;
}

.parvus__btn[disabled] {
    display: none;
}

.parvus__counter {
    position: relative;
    z-index: 7;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus__counter {
        transition: transform var(--parvus-transition-duration) var(--parvus-transition-timing-function),opacity var(--parvus-transition-duration) var(--parvus-transition-timing-function);
    }
}

.parvus__counter[aria-hidden=true] {
    display: none;
}

@media screen and (prefers-reduced-motion:no-preference){
    .parvus--is-closing .parvus__btn--close,
    .parvus--is-closing .parvus__btn--next,
    .parvus--is-closing .parvus__btn--previous,
    .parvus--is-closing .parvus__caption,
    .parvus--is-closing .parvus__counter,
    .parvus--is-opening .parvus__btn--close,
    .parvus--is-opening .parvus__btn--next,
    .parvus--is-opening .parvus__btn--previous,
    .parvus--is-opening .parvus__caption,
    .parvus--is-opening .parvus__counter {
        opacity: 0;
    }

    .parvus--is-vertical-closing .parvus__btn--close,
    .parvus--is-vertical-closing .parvus__counter {
        opacity: 0;
        transform: translateY(-100%);
    }

    .parvus--is-vertical-closing .parvus__btn--previous {
        opacity: 0;
        transform: translate(-100%,-50%);
    }

    .parvus--is-vertical-closing .parvus__btn--next {
        opacity: 0;
        transform: translate(100%,-50%);
    }

    .parvus--is-vertical-closing .parvus__caption {
        opacity: 0;
        transform: translateY(100%);
    }
}

@keyframes spin{
    to {
        transform: rotate(1turn);
    }
}