:root {
  --parvus-transition-duration: 300ms;
  --parvus-transition-timing-function: cubic-bezier(0.4, 0, 0.22, 1);
  --parvus-overlay-color: hsl(23, 40%, 96%);
  --parvus-overlay-text: hsl(228, 24%, 23%);
  --parvus-button-color: hsl(228, 24%, 23%);
  --parvus-button-text: hsl(0, 0%, 100%);
  --parvus-button-hover-color: hsl(229, 24%, 33%);
  --parvus-button-hover-text: hsl(0, 0%, 100%);
  --parvus-focus-outline-color: hsl(228, 24%, 23%);
  --parvus-loader-background-color: hsl(23, 40%, 96%);
  --parvus-loader-color: hsl(228, 24%, 23%);
  --parvus-image-max-height: 85vh;
  --parvus-image-max-width: 85vw; }

/**
 * Parvus trigger
 *
 */
.parvus-zoom {
  display: block;
  position: relative; }
  .parvus-zoom__indicator {
    align-items: center;
    background-color: hsl(228, 24%, 23%);
    background-color: var(--parvus-button-color);
    color: hsl(0, 0%, 100%);
    color: var(--parvus-button-text);
    display: flex;
    justify-content: center;
    line-height: 1;
    padding: 0.5rem;
    position: absolute;
    right: 0.5rem;
    top: 0.5rem; }
    .parvus-zoom__indicator svg {
      fill: none;
      height: 1.5rem;
      pointer-events: none;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.5;
      stroke: currentColor;
      width: 1.5rem; }
  .parvus-zoom img {
    display: block; }

/**
 * Parvus
 *
 */
.parvus {
  align-items: center;
  bottom: 0;
  contain: strict;
  display: flex;
  font: normal normal 400 1.125rem/1.7 -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  justify-content: center;
  left: 0;
  line-height: 1.667;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1337; }
  .parvus[aria-hidden='true'] {
    display: none; }
  .parvus__overlay {
    background-color: hsl(23, 40%, 96%);
    background-color: var(--parvus-overlay-color);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
  .parvus__slider {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
    .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 300ms cubic-bezier(0.4, 0, 0.22, 1);
        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;
    height: 100%;
    justify-content: center;
    width: 100%; }
    @media screen and (prefers-reduced-motion: no-preference) {
      .parvus__slide {
        transition: visibility 300ms cubic-bezier(0.4, 0, 0.22, 1);
        transition: visibility var(--parvus-transition-duration) var(--parvus-transition-timing-function); } }
    .parvus__slide:not(.parvus__slide--is-active) {
      visibility: hidden; }
    .parvus__slide figure, .parvus__slide .div-figure {
      margin: 0; }
    .parvus__slide figcaption, .parvus__slide .div-figcaption {
      padding: 1rem;
      text-align: center;
      will-change: transform, opacity; }
      @media screen and (prefers-reduced-motion: no-preference) {
        .parvus__slide figcaption, .parvus__slide .div-figcaption {
          transition: transform 300ms cubic-bezier(0.4, 0, 0.22, 1), opacity 300ms cubic-bezier(0.4, 0, 0.22, 1);
          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-left: auto;
      margin-right: auto;
      max-height: 85vh;
      max-height: var(--parvus-image-max-height);
      max-width: 85vw;
      max-width: var(--parvus-image-max-width);
      transform-origin: left top;
      width: auto; }
  .parvus__loader {
    display: inline-block;
    height: 6.25rem;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 6.25rem; }
    .parvus__loader::before {
      animation: spin 1s infinite;
      border-radius: 100%;
      border: 0.25rem solid hsl(23, 40%, 96%);
      border: 0.25rem solid var(--parvus-loader-background-color);
      border-top-color: hsl(228, 24%, 23%);
      border-top-color: var(--parvus-loader-color);
      bottom: 0;
      content: '';
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
      z-index: 1; }
  .parvus__btn {
    -webkit-appearance: none;
            appearance: none;
    background-color: hsl(228, 24%, 23%);
    background-color: var(--parvus-button-color);
    background-image: none;
    border-radius: 0;
    border: 0.0625rem solid transparent;
    color: hsl(0, 0%, 100%);
    color: var(--parvus-button-text);
    cursor: pointer;
    display: flex;
    font: inherit;
    padding: 0.3125rem;
    touch-action: manipulation;
    will-change: transform, opacity;
    z-index: 7; }
    @media screen and (prefers-reduced-motion: no-preference) {
      .parvus__btn {
        transition: transform 300ms cubic-bezier(0.4, 0, 0.22, 1), opacity 300ms cubic-bezier(0.4, 0, 0.22, 1);
        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: hsl(229, 24%, 33%);
      background-color: var(--parvus-button-hover-color);
      color: hsl(0, 0%, 100%);
      color: var(--parvus-button-hover-text); }
    .parvus__btn--close {
      position: absolute;
      right: 1rem;
      top: 1rem; }
    .parvus__btn--previous {
      left: 1rem;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
    .parvus__btn--next {
      position: absolute;
      right: 1rem;
      top: 50%;
      transform: translateY(-50%); }
    .parvus__btn svg {
      fill: none;
      height: 2rem;
      pointer-events: none;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1;
      stroke: currentColor;
      width: 2rem; }
    .parvus__btn[disabled] {
      display: none; }
  .parvus__counter {
    align-items: center;
    display: flex;
    justify-content: center;
    left: 1rem;
    min-height: 2.75rem;
    min-width: 2.75rem;
    position: absolute;
    top: 1rem; }
    @media screen and (prefers-reduced-motion: no-preference) {
      .parvus__counter {
        transition: transform 300ms cubic-bezier(0.4, 0, 0.22, 1), opacity 300ms cubic-bezier(0.4, 0, 0.22, 1);
        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-opening .parvus__counter,
    .parvus--is-opening .parvus__btn--close,
    .parvus--is-opening .parvus__btn--previous,
    .parvus--is-opening .parvus__btn--next,
    .parvus--is-opening figcaption, .parvus--is-opening .div-figcaption, .parvus--is-closing .parvus__counter,
    .parvus--is-closing .parvus__btn--close,
    .parvus--is-closing .parvus__btn--previous,
    .parvus--is-closing .parvus__btn--next,
    .parvus--is-closing figcaption, .parvus--is-closing .div-figcaption {
      opacity: 0; }
    .parvus--is-vertical-closing .parvus__counter,
    .parvus--is-vertical-closing .parvus__btn--close {
      transform: translateY(-100%);
      opacity: 0; }
    .parvus--is-vertical-closing .parvus__btn--previous {
      transform: translate(-100%, -50%);
      opacity: 0; }
    .parvus--is-vertical-closing .parvus__btn--next {
      transform: translate(100%, -50%);
      opacity: 0; }
    .parvus--is-vertical-closing figcaption, .parvus--is-vertical-closing .div-figcaption {
      transform: translateY(100%);
      opacity: 0; } }

@keyframes spin {
  to {
    transform: rotate(360deg); } }

/**
 * Focus
 *
 */
.parvus-trigger:focus,
.parvus :focus {
  outline: 0; }

.parvus-trigger.focus-visible,
.parvus .focus-visible {
  outline: 0.125rem dashed hsl(228, 24%, 23%);
  outline: 0.125rem dashed var(--parvus-focus-outline-color);
  outline-offset: 0.125rem; }

.parvus-trigger:focus-visible,
.parvus :focus-visible {
  outline: 0.125rem dashed hsl(228, 24%, 23%);
  outline: 0.125rem dashed var(--parvus-focus-outline-color);
  outline-offset: 0.125rem; }
